Fix empty test, ensure that fields/associations can be supered to

This adds the logic for an empty test for models. The test was
intended to ensure that a field and association could be supered
to, but was accidentally left empty. This defines the test and
ensures it passes.
Track the model class on the record class

This is to setup handling polymorphic associations. For these, it
will be necessary to determine a model class via a record class.
When a polymorphic association is called, it will fetch the record,
and use the record's class to determine the appropriate model class
to instantiate. This adds logic to store the model class when a
model has it's record class configured. This way the 2 classes
stay synced up and know of each other.