Validate price maximum.

Price is constrained to be precision: 8, scale: 2 at the database level, but
that validation isn't reflected in the model.

This will lead to errors when prices are 1,000,000 or above, which is a lot in
USD, but 1 million Vietnamese Dongs is less than $50 USD.
The check_price function was a legacy of Spree 1.2 that I didn't really understand, but left it as when adding multi-currency support.  I think that sort of functionality is best left for validations.