Refactor from promotion actions and tax rate into AdjustmentSource

I would prefer to pass an order object around rather than just the order_id. Same throughout the rest of this refactoring.