Fix issue with stock movement routes.

The standard stock movement route depends upon stock_location being
specified. The StockMovementsController depends on a stock_location_id
being specified, so the correct stock movement route is the one nested
under stock location.

Using the non-nested route leads to an error "Couldn't find
Spree::StockLocation without an ID".

Fixes #4631
Always redirect to the payments screen after creating a new payment

Fixes #4628
Load a StockItem's variant, even if it's been soft deleted

Alternative patch for #4652

Fixes #4651
Fixes #4652
Use correct path in new_order_spec

related to #4628