Abstraction tests #3.
Fix the tests to work with the abstraction.
Refactor the abstract models.
Use Plethora Model/ForeignKey where necessary.
Shorten import path.