Change before_filter to before_action
Change order populator to handle invalid variant_id and quantity values

* Refactor code and specs to cover all the cases.
* Change the caller code to pass in variant_id and quantity coerced to
  integers, rather than strings.
Fix code formatting
Fix state_changes to be destroyed when the associated order is destroyed
Refactor Spree::Order#associate_user! code and specs to be simpler

* Expand the specs to test all possible code paths. This code is fully
  mutation covered by mutant.
Change Spree::Order#associate_user to copy address information
Fix specs to pass with tighter constraints

* Change to use factory girl when the object used would otherwise be
  invalid.
Fix test_app rake task to create a dummy app for the sample directory
Fix code formatting
Remove unused method from Spree::OrderUpdater
Refactor Spree::OrderUpdater specs to use an explicit subject
Refactor Spree::OrderUpdater#persist_totals to be simpler
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 spelling of canceled to be consistent
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.