Only create an adjustment for tax rates if the amount is > 0
Define Adjustment.promotion association correctly
Remove code to set eligibility for adjustment from Adjustment class

I am not too sure that this is necessary, given that this seems to only be used to determine if promotion adjustments are eligible or not, and that's done where the best promotion is found, in OrderUpdater
Use amount, not cost, to compute a shipment in default tax calculator
Promotion adjustments are now created on a per-line-item basis
Order#ship_total now sums up all shipments' amounts
Remove promotion_credit_exists? from Order, as this is now on LineItem
Use SQL query rather than Ruby summing in Order#promo_total
Correct query for source, not originator, in Promotion#credits
Remove Activator events
Use source, not originator, in adjustments association for CreateAdjustment action
Call method Shipment#ensure_correct_amount, as it is now setting an amount, not creating an adjustment
Remove create and update calculation logic from Calculated adjustments

This is because it had class-specific code in it. If we're going to do that, then it would be better to define the methods within the classes themselves, rather than having this logic check every time which could slow things down.
Check for source, not originator, within coupon_applicator code
cost -> amount in shipment_factory
Correct tests for default tax
Create shipments with amounts where necessary
Remove promotion_credit_exists? test from Order model

This is now in the LineItem model
Remove ensure_correct_adjustment tests from shipment spec