NEMO-2630: Add model validations for ALL decimal values in Spree

done again 2-2-nemo-stable branch as a single commit
Great to see at least the numeric values defined as constants, but they should be moved to another file and referenced everywhere used, instead of repeating constants in every model, which doesn't buy us much of anything.

Thinking aloud here, so definitely more conversational than guidance and welcome input, but we can possibly take this to the next level with constants. 

How about creating a class Spree::Core::DbValueValidations, and in it:
```
module Spree
  module Core
    module DbValueValidations
      DECIMAL_8_2_LIMIT = 99_999_999.99
      DECIMAL_8_2_MAX = { less_than_or_equal_to: DECIMAL_8_2_LIMIT }.freeze
      DECIMAL_8_2_MIN = { greater_than_or_equal_to: -DECIMAL_8_2_LIMIT }.freeze
      POSITIVE_MIN = { greater_than_or_equal_to: 0 }.freeze
      ALLOW_NIL = { allow_nil: true }.freeze

      POSITIVE_DECIMAL_8_2 = DECIMAL_8_2_MAX.merge(POSITIVE_MIN).freeze
      DECIMAL_8_2 = DECIMAL_8_2_MAX.merge(DECIMAL_8_2_MIN).freeze
      NILLABLE_POSITIVE_DECIMAL_8_2 = POSITIVE_DECIMAL_8_2.merge(ALLOW_NIL).freeze
    end
  end
end
```

That's a bit ugly, but reduces redundancy to a minimum and is allows you to not care about actual values.

You can then specify something like this in the models:
```
validates :amount, numericality: DbValueValidations::NILLABLE_POSITIVE_DECIMAL_8_2
```