Prevent multiple promotions on the same adjustable

This is identical to spree/spree#4775. However, the discussion of whether to merge this into upstream is dragging on. At the same time, we are still potentially allowing multiple promo codes on a single order, which is costing us money.

This will fix that issue; the fact that we have disabled line-item promos fixes another part of the issue. Together, they should make sure that this does not happen again. So I'd like to get some eyes on this internally at Bonobos and ship it on our fork whether or not it gets accepted into upstream.