Run coupon promotion when new item is added to cart

Hey @radar,

This is what I could came up with related to the issue you described in #11. Honestly I'm still not sure if applying an adjustment for each item in a coupon promotion is worth it the huge complexity added to the system. We still need to consider how a promotion eligibility will be handled in these cases.

need to work on something else right now but I might revisit it later today. I'm worried about making things too complex and still have bad performance (by running too many queries).