Associate orders with promotions in OrderPromotionPool

Initial idea is to create a db record for first time `activate` is
called on a promotion
Run activated coupon promotions in `order.contents.add`

As a item may be added after a coupon promotion was already activated
Destroy promotion pools when emptying an order

Avoid promotions previously applied to the order from being activated
again without having the set up required to do so