Touch an order when a line item is saved

Fixes #4419

Conflicts:
	core/app/models/spree/line_item.rb
	core/spec/models/spree/line_item_spec.rb
backend: Remove missing reports#show route

Fixes #4528
More robust namespace adjusting

As discussed in https://github.com/spree/spree/issues/4479, the existing migration would generate inaccurate class names due to the fact that `demodularize` will only select the very last part of the class name.

So, for instance,

`Spree::Calculator::Fedex::Ground` would be changed to
`Spree::Calculator::Shipping::Ground`, which would trigger an `uninitialized constant` exception. The desired new class name is
`Spree::Calculator::Shipping::Fedex::Ground`, and this suggested PR will handle those class name changes more appropriately.

Fixes #4520
Adding data-hooks to admin shipping method form

Our app does some rearranging of these elements, and it's dramatically easier if not only the group of fields, but the fields themselves have `data-hook` defined. This should help anyone working with this group of fields in Deface.

Fixes #4521
Wave goodbye to Spree.routes

Say hello to Spree.mountedAt and Spree.pathFor.

Spree.mountedAt will tell you the relative path that Spree is mounted at.

Spree.pathFor allows you to make your own *magical* Spree URLs:

Spree.pathFor('/api/checkouts/R123456789')

No more Spree.routes mumbo jumbo
Remove Spree.routes file in backend
Use apply_coupon_code route helper in backend/adjustments.js
Always show 'Tracking' label if there's no label

This fixes a backend order_details_spec which was expecting to see the 'label' but it wasn't there
Fix issue where payments can get their credit cards disassociated from them.

This was initially discovered when integrating with the paper_trail gem, which
calls dup in an after_update to try to capture the changed state of the
object, however, this could happen elsewhere and it is good to be
defensive here.

Fixes #4512
Pass source attributes to force validation on spec
check show deleted when searching for deleted products
default show deleted to fault and carry it's state over

Fixes #4509
Account for 1.3 upgrade when warning about migrations

Fixes #4518
Remove unused spree_backend.js file leftover from asset migration.
Remove unused spree_backend.css file leftover from asset migration.
Add spree to extension gemfile to make frontend/backend available.
Fixes #4527
remove selenium gem and selenium conditionals, running on poltergeist perfectly now
Touch resources when updating positions
fix collection cache key with total models count
remove assign_stock_changes_to

Nobody likes this function. It showed up to a party once and everyone
else left. Its parents are ashamed of it. It listens to bad music.
Removing it is doing the whole class a favor.

Fixes #4532