Tests for remaining models

These tests simply check that all the required attributes and
relationships exist between the various models.  There are no
validation checks included at this time.
New models created

This adds the migrations and model definitions to pass all the
previous tests.