'Correctly' define zones association on 'create_shipping_method_zone' migration

Fixes #3307

The issue happened upgrading a 1.3 app to 2.0. What would happen is that this migration expected the table to be called shipping_methods_zones, but a later migration (and a model change in the shipment model) changes this to being spree_shipping_method_zones. This small model code here will redefine the association and appease the migration running script.
Add navigation back to stock locations list from stock movements

Fixes #3281
[api] Do not call set_current_order in CheckoutController

This has been known to clear the current order completely, which is pretty bad.

Fixes #3306
Add changelog entry for set_current_order filter skipping
Fix back to stock locations list entry on en.yml

Fixes #3310
Raise Core::GatewayError when process_payments! is called and there's no pending payments. Can occurr when previous payments have failed.

Fixes #3317
Improve readability of process_payments spec

Related to #3317
Simplify the transition to the order 'complete' state by removing the conditions. The Order.process_payments! method is now responsible for handling the transition correctly, via it's return value when it get's called in the before_transition. Essentially, the filter on definition is now redundant.

has_unprocessed_payments? is no longer required.

Fixes #3317
Raise RecordNotFound in OrderContents#remove

Remove TODO on `remove` method and raises error when the line item can't
be found by variant

Fixes #3316
Show 'No stock locations found' rather than a dodgy looking table when there are no stock locations
Redirect to stock locations page if there is no stock location on 'Stock Management' page for a product

Fixes #3304
Fix duplicate spree i18n namespacing.

Fixes #3311
Fixes untranslated select option None.

Fixes #3311
add table_name to fix "order created_at" exception error

Fixes #3305
Fixes #3309
Don't transition to delivery step if shipments are blank or if shipments DO exist, but there are no shipping rates for them
Devaguify description in checkout_controller_with_views spec
Stop an order from being able to transition from cart without any line items

Fixes #3312
[api] move 'apply a coupon code to an order' test into correct context
[api] A line item must now be created when attempting to transition out of cart step
Rename payment method factory that's using BogusSimple gateway from 'authorize_net_payment_method' to 'bogus_simple_payment_method' to reduce confusion in what the factory actually does