create stock_item if needed during stock_transfers

Conflicts:
	core/app/models/spree/stock_location.rb
Bump to 2.0.1
Load promotion rules after app initialization

So that they can make proper use of `Spree.user_class` which is only
defined on the app spree.rb initializer

[Fixes #3152]
Don't save invalid addresses.

Bypass default scope in Spree::Order#associate_user!

This is more consistent with the Rails 4 implementation of update_columns: https://github.com/rails/rails/blob/8ac8eb66c19d352dde548fc5c9a632ffbb586abe/activerecord/lib/active_record/persistence.rb#L276. Also, it won't break if an app developer adds a default scope to Spree::Order.