Resource Properties

Provide a helper method for defining known properties that are a part of
a Resource. This will provide a developer friendly way to access
resource properties without needing to know the format of message.

It provides a basic example of validation via the type= parameter. It is
meant as a reference and may be removed later in favour of a proper
validation framework.

Access to the underlying message is still available by the item
accessors, ie setting obj['prop'] will set 'prop' within the resource
and ignore any validation or attribute safety net.

Change-Id: Iccfa4fad3e2f444aac0392a776f5948cefb13791