Normalize promo codes

Previously we were forcing the case of promo codes in a user-facing
way. For example, if you entered a capitalize promo code in checkout
it would be returned in lower case.

While this is helpful for making coupon codes case insensitive
it is confusing to users and administrators. This change normalizes
the coupon code only when it is evaulated for applicability.