An abstract base class for meta-data implementations. The meta-data supports
a kind of inheritance; repository entries can reference a parent type (by id)
via their 'type' attribute. Property accessor methods automatically return
the parent property value if the child value is null. N.B.
subclasses' property getters are expected to conform to this pattern.
author: Adrian Price