Pass updaated order object to `adjustment.update!`

Make things easier to recalculate promo adjustments on updated order
totals without relying on `inverse_of: :source` option (a shipment can
also be an adjustment source). Introduce a `update_shipping_adjustments`
so that shipping adjustments are still recalculated properly as they
need to be calculated over a shipment object instead of an order.

Fixes #3549