Allow proc as preference default and remove cruft

Got this finished on my flight to spreeconf in NYC :airplane:
 
This allows preferences' defaults to be defined as a proc

    reference :currency, :string, default: ->{ Spree::Config[:currency] }

This also removes a bunch of preference methods which were unused, and removes value_type from the preferences table. Performing a typecast as values are loaded from the table is unnecessary, as they are already being deserialized into the correct type.