Fetch active variant only in order import through api

Fixes #3647
standardized address attributes in api_helpers

Fixes #3646
adds awesome nested sets's 'depth' field in taxons

Fixes #3634
Cleanup Zone Editing

Fixes #3631
Remove promo related deprecated code

Fixes #3563
Order shipping rates by cost ascending

This fixes a problem on the frontend that I saw where they were displaying in indeterminate ordering
Add HUGE GIANT WARNING to installation section of README

Related to #3653
Address information is now only accessible through an order

This is because we need to first look up if the user has permission to view the order. If the user has the additional permission of being able to modify the order, then they should be able to modify the address too.

Fixes #3635
Add a call to advance an order as far as it can go

This is related to #3336, as the backend has been changed to add line
items through the API, but the desired functionality is to continue the
order as far through the checkout process as possible after items have
been added.

Extracting this 'advance' into its own API call will let us remove the
while @order.next; on in spree/admin/orders_controller#update on the
backend.

Explicitly advance an order on variant changes

Previously, correct behavior relied on GET orders/edit advancing an
order as far ahead as possible. This explicitly moves the order as far
ahead as possible rather than relying on the behavior of the GET edit to do
so

Related to #3336

Fixes #3662
Do not call refresh_shipment_rates on an order if it is complete

Fixes #3648
Added missing internationalization for table headers (using same table headers as in shared/_order_details)

Fixes #3656
Use jquery.payment for frontend + backend checkout form
No longer create duplicate roles within Spree

Fixes #3557
[backend] use 'complete?' not 'completed?' in orders_controller_spec
Fix issue where refresh_rates for a shipment wasn't being called in VERY specific circumstances

The order_details_spec in backend was failing because of the absence of this code.
Update columns using update_column, rather than update_attribute which now calls callbacks.

Calling the callbacks causes the shipments to be reset to pending because, for some reason I did not investigate, the inventory units are set to 'backordered'. Do not want.
[backend] Correct orders_controller_spec stubbing
Fill in card expiry in checkout_spec
Allow 'expiry' to be passed through as a source attribute
[frontend] Fix translation for 'Expiration' in checkout/payment/_gateway