Make the class name an option for fake record associations

This makes the class name optional for fake record associations.
This sets up defining fake polymorphic associations, as they do
not specify a class name option. Like ActiveRecord, these
associations will look at the record's data to determine the
class name.
Allow easily configuring a model class for fake records

This allows easily configuring a model class for fake records.
This is setup for polymorphic associations with fake records to
ask for the model class. This is covered by real records because
the model sets itself on the real record. This never occurs for
fake records so it's necessary to manually configure their model
classes.
wip