Set promotion rules before app initializer

And add a check in Promotion::Rules::User so associations are only
loaded once the app has set Spree.user_class. That allow users to set
their promotions rules on the spree.rb initializer again. e.g.

    Rails.application.config.spree.promotions.rules = [Spree::Promotion::Rules::Product]

Fixes #3599