Let Maximum Value Length Be DB Driven (For Product Property Value)

This let's us let the ProductProperty value to be constrained by the underlying DB limit, not 255. If one does a migration to change the column, we're still in a bad spot due to the explicit validation.

Now packaged as ActiveModel::Validator for a) reusability and b) to avoid DB errors when there is no DB and the app is being initialized for some reason i.e. CI, Spree init scripts, etc.

Supersedes:
https://github.com/spree/spree/pull/5357