Fix variant price validation to allow nil

* The check_price validation already asserts presence, or not depending on
  the system config, and unnecessarily validations are done when
  the master variant price is not required.

Conflicts:
	core/app/models/spree/variant.rb

fixes #5552
Fix pagination in /api/taxons/products
fixes #5554
Fix order / adjustment presence in adjustments

* Fix admin action producing adjustments without direct order reference.
* Add validation for the presence of adjustable
* Adjustments without an adjustable item do not make too much sense
* Add migration to fix old adjustments without direct order reference

fixes #5556

Conflicts:
	core/app/models/spree/promotion/actions/create_item_adjustments.rb
	core/spec/models/spree/adjustment_spec.rb
	core/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb
Fix the cookie domain used for google analytics

* A change needed to make the google analytics integration compatible
  with the universal analytics engine. Should also work for the
  traditional code.

fixes #5565
Fix validation to skip performing a query if the field is blank
fixes #5565

Conflicts:
	core/app/models/spree/product.rb
Only reload shipment items on item adjustment

The original issue fixed by
https://github.com/spree/spree/commit/a4b209c7288198124a735d99203102d86be6a935
only affected shipment calculations. Removing the reload for LineItems
allows them, and more important their descendants to be eager loaded.

fixes #5566
Pass item to Adjustment#update to avoid N+1

Conflicts:
	core/app/models/spree/item_adjustments.rb

fixes #5567
Change an inventory unit to be removed when it's line item is removed

* This will fix the foreign key violation when a line item is removed
  in the cart.

fixes #5568
Fix spelling
fixes #5564

Conflicts:
	core/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb
Fix admin order open/close adjustments to affect all adjustments

* The previous code was just opening and closing the order-specific
  adjustments, not the line items or shipping adjustments.

Conflicts:
	backend/spec/controllers/spree/admin/orders_controller_spec.rb

fixes #5558

Conflicts:
	backend/spec/controllers/spree/admin/orders_controller_spec.rb
Fix gitignore to exclude vendor

* Build scripts install to ./vendor, after testing something locally via
  the officially supported method `git status` should still list a
  pristine repository.

fixes #5573
fix #4826 ambiguous column name

fixes #5572
fixes #4826
Add timeout to kill mutations causing infinite loop

* Will also prevent excessive runtime for core unit specs.
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 validations to stock items and stock movements
Change Spree::OrderUpdater#update to be performed inside a transaction
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