Fix specs to pass with tighter constraints

* Change to use factory girl when the object used would otherwise be
  invalid.
Add validations to Spree::Order

* This focuses most on improving the existing validations and adding
  validations for the totals that are updated based on user input.
Fix code formatting
Remove unused method from Spree::OrderUpdater
Change Spree::OrderUpdater#persist_totals to validate the totals

* If the totals are greater than the database columns can store, then we
  should avoid hitting the database and report the error.
Add sample directory to the test_app rake task