Add polymorphic belongs to association for models and fakes

This adds a polymorphic belongs to association for models and
fake records. This will allow properly using ActiveRecord's
polymorphic associations and defining them in a `MR::Model`. These
behave as you'd expect, they allow reading and writing
inconsistent object types. Furthermore, polymorphic associations
are supported in factories and stacks. The only extra info that
has to be provided is, at minimum, the "type" data for the
association. If this is provided, then stacks have all the info
they need to walk up the dependency tree.