Major revision changes on Models

* Changes PurchaseItem in favor of LineItem
* Creates a Transaction model where Payment and Purchase inherit from.
* Begin specing models.
* Changes database schema to reflect model changes as well as adds
  sensitive defaults.