[API Notes] Allow removal of explicit attributes via versioned API notes.
Teach API notes to distinguish between unspecified API notes and
false/empty API notes. When a versioned API note explicitly specifies
an empty/false state, *remove* an the corresponding attribute from the
AST even when it was explicitly specified in the source. This allows
headers to move forward while API notes provide backward compatibility.
Another part of rdar://problem/28455809.