Beginnings of Models Types in QL

Introduced PropertyBundle, as an abstraction over Thing and
ModeledPropertyBundle, and made ModelThing use the latter.  The notion
is that we should generally be thinking of PropertyBundle as the class
that we get property values from.

At this point, there are probably still a lot of bugs where we should
now be calling applyToIncomingProps, but it's a start.