[API Notes] Allow versioned API notes to override information in headers.
When a versioned API note is used, allow it to override information
explicitly described in a header. This allows a workflow where the
headers are considered the "truth" for the latest version of Swift,
but version-specific API notes can reset the state of the headers back
to a prior version of Swift.
At present, this only effectively works for nullability, because most
of the Boolean or naming-related API notes fields don't distinguish
between "not specified" and "false/empty".
Part of rdar://problem/28455809.