Check if spree route proxy responds to root_path

Some stores may not define a root_path under spree engine. Currently
only spree_frontend component does that.
Add product with track_inventory false via backend

Fixes #4309

Conflicts:
	api/app/helpers/spree/api/api_helpers.rb
	api/spec/controllers/spree/api/variants_controller_spec.rb
Do not allow adjustments to be edited or destroyed if they are closed
Do not attempt to compute an adjustment if it has no source
Delegate persist_totals and update_totals to Order#updater
[backend] Ensure order totals are updated when creating, updating or destroy adjustments

Fixes #3944