[backend] nil check for shipping_method in orders/_shipment

fixes #4025

Conflicts:
	backend/app/views/spree/admin/orders/_shipment.html.erb
Show destroy flash messages in admin backend

Fixes #4032
Really always include the confirm step preference

Fixes #3945
Add name_on_card translation

The frontend checkout spec was complaining about this
Add customer_id to gateway options

:customer and :email are both the email, it could be useful to uniquely
identifiy a customer on the gateway

Fixes #4051
Permit name to be passed through in source_attributes
Don't show confirmation step if payments are empty
[frontend] Set flash.now for gateway errors in CheckoutController

Fixes #4034
[frontend] Use flash.now for coupon application error in OrdersController

Otherwise this will carry over to the next request, which is not fun.

Fixes #4034
Fix 'Loading images' message for sample data not showing any product names
Use new show_flash erorr in payments/edit.js.coffee
No longer fill in backorders for incomplete orders (i.e. abandoned carts)

Fixes #4056
Make the parameters consistent across orders#create and orders#update

Fixes #4057
remove relation from simple scopes as it removes chain scopes query and returns all products

Fixes #4062
Make sure empty string values for code and path are saved as nil value

Since the cart promotion handler expects code and path to be nil. Other solution could be to change the where clauses to search for empty strings, but that would mean updating all specs and factories to set an empty string and I like the nil value better.

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

Fixes #4063
Place Spree assets at vendor/assets so that 'require_tree .' in application's assets does not load Spree's assets

This *definitely* breaks existing behaviour.

Assets should now be renamed:

* app/assets/stylesheets/store/all[css|js] => app/assets/stylesheets/spree/frontend/all.[css|js]

Fixes #4050
Move spree frontend image assets to spree/frontend 'namespace' too
[backend] Correct references to address_states.js
Update precompile list to use new asset locations

Related to #4050