Refactor from promotion actions and tax rate into AdjustmentSource

The reasoning behind that is that TaxRate#adjust doesn't have an order object passed to it, so I figured it might save an extra database request loading it if only it's id is needed. But I'm happy to change it if you would still prefer to have an order object.