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.