Extend SwiftPM `PackageDescription` to introduce metadata

You've mentioned this before and have received a number of replies, so there's little point to belaboring it:

YAML is a superset of JSON, so every valid JSON file is a valid YAML file, which means that you can write your own files in pure JSON wherever YAML is accepted.

API notes are already written in YAML, cross-import overlays have been proposed where the declaration files are to be written in YAML, and one of the GSOC projects will localize diagnostic messages using YAML. At this point, it's hard to justify reaching for another text serialization format than YAML when LLVM/Clang/Swift has converged on the format.

But overall, that is beside the point that it seems overall to be a more congenial design to write metadata in a separate text serialization format.