Fix Spree::Promotion not applying all of the time.

There was a specific case in which promotions added to an order would not apply to new items added to the cart. This corrects that by having the PromotionHandler activate all promotions already associated with the order as well as any with a blank code and path.

Steps to reproduce:
1. Create promotion with either a code or a path.
2. Add item to cart.
3. Apply promotion to order.
4. Add another applicable item to the cart.

The newly added item would not have the existing promotion applied to it. With this change, that is not that case. Yay!

Might also fix #4621

If people have an adverse reaction to the Arel I can update this to use straight SQL instead.