Began to introduce ModelType

Doesn't *do* anything yet, but I can define a Model Type (and a Property
based on it, and a Thing that uses the Property) in a unit test without
anything crashing.