Add BaseModel and BaseModelTest

Intended to be extended by all models within the application to provide
common functionality.