Option value promotions

Rule will match as long as at least one item in the cart matches:

1. The product
2. All of the selected option values

For example, if the rule is for red t-shirts then any size of red t-shirt would be a match. However, if medium is added as an option value, then only medium red t-shirts will be applicable for the promotion.
it would be nice to have a smoother upgrade path than that. maybe we can use the current preferences implementation and it will migrate over when we get the new preferences changes?