Support only Rails 3.2.16 and above for 1-3-stable

A forced upgrade for people still using 1-3-stable. Don't want them to be hacked because they're using an older version of Rails!
remove relation from simple scopes as it removes chain scopes query and returns all products

Fixes #4062
Ensure shipment numbers are 11-chars, not 9

Fixes #4063
[sample] Correctly assign products to brands in taxons

Fixes #4070
Change confirm step label to uniform it with other steps

Fixes #4075
Leave comment as to why we need to do next_transition.run_callbacks in OrdersController
Only require email when past cart or address

This means that an email field can now be provided on either the cart or address forms

More importantly, the 'state' field will now say 'address' when users reach that state, rather than 'cart'

Fixes #4079
[api] Remove test checking for email validation failure after cart

No longer required since 177fecf32cce98b78b56d6bef8d01ab137ea0726
Switch state for email validation test to address, so that its triggered on transition to delivery

Necessary after 177fecf32cce98b78b56d6bef8d01ab137ea0726
Ensure that state_changes aren't created when the state doesn't change

In retrospect, this seems very obvious.

Fixes #4072

Conflicts:
	core/app/models/spree/order.rb
	core/spec/models/spree/order_spec.rb
Move shipments JS out of variants_autocomplete.js and into shipments.js
Fix for Spree::Money's default currency when currency can't be detected, add test

Fixes #4077
Make order state_changes test more robust
[backend] (customer_details/edit) Show customer select box when order is in address state too
Specify class_name for OptionValue's option_type association

If you attempted to assign any non Spree::OptionType object to this association, it would result in a vague uninitialized constant error

Conflicts:
	core/app/models/spree/option_value.rb
Showing line items on orders screen now when there are no shipments

Fixes #3958
fix for report locale names when extending via class_eval

* source issue: https://github.com/spree/spree/issues/4086
* try to maintain the reports not in a constant
* make it easier to add new reports over current merging arrays way
* clean up to avoid test breakage in the ui tests due to missing routes
* added a test on GET :index to check for regressions for my change

Fixes #4086
Fixes #4087
Really fix shipment number generation

Fixes #4063

(really)
Make sure that api requires authentication by default

Fixes #4096
make sure we load the promotion rules after initialize so the user rules are correctly saved. also remove the after_save on promotion, this is no longer needed.