only apply line_item_adjustments on selected products when product rule exists.
Revert "make sure we use adjustment_total for the shipping adjustment migrations instead of cost"

This reverts commit 2e6ca42826401958577596f85b4b523b1920ecd7.
add validates_attachment to Spree::Taxon icon
Fixes #4629
Base CC expiry on the rails configured timezone

Apparently ActiveSupport's .to_time doesn't respect the rails configured
timezone and instead uses the system's local timezone. This would cause
the CC to expire early in positive timezones or later for negative
offset timezones.

This is not a big issue in production (processors will reject expired
cards anyways and customers shouldn't be too upset about nearly expired
cards), but it lets my tests pass at 11pm on the 30th.

Fixes #4632
Remove unused Stock::Package#flattened

This was only used in a single test.

Fixes #4633
Dont advance order state when adding an item to cart

As of d02f67dbbf7e8ae1f61b65066c2a3a8234796a11

Admin would click to add a item to the order which would create the line
item and shipment but because we advance the order to address state the
shipments would be destroyed Order#ensure_available_shipping_rates

Cant see why we needed advance order in the first place.
Verify inventory when target_shipment is provided
Fix 500 when updating order email to something inconsistent with the associated user's email

Fixes #4614
Rename poorly named spec

Fixes #4616
There's no orders#index in spree_frontend
Lazyload variant associations in api/variants
Remove useless return in the show action from the products controller

Fixes #4635
Update CONTRIBUTING.md

Remove versions of Spree and Rails, as that info is provided by the Gemfile.
Update CONTRIBUTING.md

Require gemfile.lock too.
Refactor Shipments API & JS.

Conflicts:
	backend/app/assets/javascripts/spree/backend/shipments.js.erb
Use font-awesome-rails for the icons