Add backorderable default config to StockLocation [Fixes #3045]

Stock items backorderable values will be set according to this config
every time either a variant or a stock location is created

Related to #3323
Add propagate variants config to StockLocation [Fixes #3050]

Every time either a new stock location or new variant is created the
stock_location##propagate_all_variants value will be checked to decide
whether new stock items should be created for the new stock location or
variant

Related to #3323
Do not build packages for missing items

When building shipment packages Spree assumed that every order item had
an existing stock item in all stock locations. But that may not always
be the case since the `propagate_all_variants` config was added to
StockLocation in #3050

I think we should move forward with this. Spree should be smart enough
to figure out which order items exist in which stock locations.
Honestly I don't like the implementation of this fix but it was the only
one I could come up with for now.

This issue was brought in #3051. So we need to figure out it first to
only then merge that PR.

[Fixes #3067]

Related to #3323
Add icon to remove stock items from product section

Related #3323
Use new stock location api in product stock management

Related #3323
Order transitions should be attempted when on the edit page

Fixes #3336
Fix issue where setting backorderable to false would not actually set it
Order stock items by ID to have determinate results in backend's spec/requests/admin/products/stock_management_spec.rb