Promocode UI improvements

Fixes two outstanding issues with promocodes:
# Correct handling of leading and trailing whitespace
# Added a "Promocode does not apply to the current order" error message to give the customer better feedback when trying to apply a code.