Some model work and unit test work

Added test logic for checkout_item and added more business logic
code. All the tests are not yet passing so there is still work
to be done on models and unit tests.