Fixes regressions in sprockets >= 2.1.4

Fixes #5311
Fixes #5313
Fix item_adjustment_spec.rb

Test after tax_adjustments callback instead of after promo_adjustments, which was testing a few lines earlier
Fixes #5320
Only cancel cancellable shipments.

Fixes #5321
Fixes #5299

Conflicts:
	core/app/models/spree/order.rb
Allow partial emails when searching for orders
Fixes #5314
Fix git conflict.
corrects fetch_cart urls
Fixes #5325
removes window.location.origin

isn't compatible with Internet Explorer

Fixes #5323
Revert "Only cancel cancellable shipments."

This reverts commit a1daea003802c1bd71ad9db4540ecd29c45283d1.
Refactor Spree::ProductHelper#variant_price_diff

* Change the logic of the code to make it easier for the next
  commit.
* Remove duplicate code from the HTML generation.
Change #variant_price_diff to handle when the product amount is nil
Change #current_order to always lock the order when querying

* I believe some of the problem with the deadlocks is happening because
  of inconsistent locking, and updating without acquiring a lock properly. As a
  test I am going to enable it across the board and see how things perform.

Conflicts:
	core/lib/spree/core/controller_helpers/order.rb
	frontend/app/controllers/spree/checkout_controller.rb
Add inverse_of for more associations involved in cart processing

Conflicts:
	core/app/models/spree/return_authorization.rb
	core/app/models/spree/zone.rb
	core/app/models/spree/zone_member.rb
Add validations to stock items and stock movements
Change Spree::OrderUpdater#update to be performed inside a transaction
Fix spec formatting and spelling
Refactor CreateItemAdjustments#perform to not use an unscoped query

* The previous query for adjustments would return every adjustment for every
  order's line items. This would then result in a huge list of ids passed into
  the NOT IN clause, causing a huge generated SQL query to be executed.
* Refactor code to be simpler
Add adjustment total to the order summary
Change adjustments controller to only display eligible adjustments
Fix the discount to be the order adjustment total

* The promo_total does not include manual adjustments
Fix the cookie domain used for google analytics

* This is a test fix to see if GA will start tracking sessions again.

Conflicts:
	frontend/app/views/spree/shared/_google_analytics.html.erb