Validate totals

This branch adds validations to `Spree::Order`. It also makes sure the order totals are valid before persisting them.
I'm not sure I like this one as much. Even though it doesn't really matter, I tend to try to avoid creating intermediary objects.