Move set_shipments_cost call to Order#update_from_params

This stops the method from being called whenever Order#checkout_steps is called and thereby reduces some queries

This needs to be called in the checkout_specs to ensure that the state isn't jumped as long as this method is called.

Fixes #4898
Fixes #4979
Shipment cost is now included in spec totals.
Merge pull request #4977 from alexandremcosta/fix_promotion_spec

exchange expires_at to starts_at to fix test
Merge pull request #4974 from bonobos/fix/admin-payment-method-switch

Fix admin payment form not being displayed on payment method change