Turn off transactions around Spree::Order state transitions.

Add failing test showing payment processing is set in a transaction.

Mark test of subclassed order as pending.

This test is now failing but it is unclear if it was ever really
testing what it claims to be testing. An order with no email
is not valid and should not save, so the test should not pass.

Add changelog entry.

Fixes #4542
Dont show out of stock for master product

We only care about variants stock for a product with variants
Introduce PaymentMethod#reusable_sources

General method which custom gateways will probably override to make it
possible reuse payment sources

Fixes #4450
Define gemfile_path based on lib name for dummy app

Extensions developers need to make sure they add a non core lib name to
their Rakefile so that the proper path to Gemfile is generated in
boot.rb along with their dummy app.

Motivation here is help users boot their extensions using a preloader like zeus.

Fixes #4253
Refactor shipments js.
Use shipments route.