[WIP] Add support for metadata on first-class citizen (Refs #6)
Make Constraint a first-class citizen.
Make Contract a first-class citizen.
Merge pull request #7 from blambeau/metadata

Support for Metadata