Polymorphic attributes

These are changes I completed in early July.  In the code they show up as "Property" stuff.  Note that they have a pretty solid test suite.  Note also that we should have @sashax look at this---I created this before he did his work on informal cart creation, so there is almost certainly some overlap.  However, the informal cart creation stuff could be dropped out ---it is the "PropMixin", the data migration, and the tests that matter.