check coupon eligiblity during checkout.  Recalculate all coupons on order update and small updates to backend view of promotions