'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