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.