[API Notes] Add Swift versioning to API notes files
Extend the API notes format with support for specifying API notes at a
particular Swift version. A single API notes file has "unversioned"
information, followed optionally by more information about the various
classes/functions/etc. at a specific Swift version. The intent is to
allow API notes to provide backward-compatibility information
Parse Swift-versioned API notes, store version API notes in the binary
format, and ensure that it round-trips. For now, Clang still only adds
attributes based on the unversioned information. This is the first
step of rdar://problem/28455809.