Call set_shipments_cost in Order#update_from_params

This method is called in API::CheckoutController and Frontend::CheckoutController, and I have confirmed today that this fixes the bug from #2191
update+persist totals during Order#update_from_params
[frontend] Persist totals after order.contents.update_cart in OrdersController

The updating of the totals is dealt with by update_cart, but the persistence is not (because we don't want to persist it all the time, like in tests) so therefore we will just do it epxlicitly where we care about it being persisted.