Define a Schema class for properties and their constraints that is easily
serialisable to a JSON schema format that matches the proposed Parameter
input syntax for HOT. Since resource properties have not been exposed to
the user before, this format will make the most sense to a user in the long
term.
A future patch will switch the Property validation code over to using
Schema objects instead of the dictionary-based schemata currently in use.