This is an attempt to integrate Admin Apply Coupon Code to Spree 2-1

It is a feature that was added to master with the introduction of Radar's apply_coupon_code API change.

However for our Spree-2-1, we have our own version in Spree-Backend. As such, this PR could not be introduced as cleanly as liked. So what has been done is:

1) Bring in only the front end JS/ERB changes
2) The bare minimum logic on order and promotion models for the can_apply_code? method to work
3) Changes in the adjustment coffee for how errors are displayed.

TODO:

1) We might need to move the api code stuff out of Spree Backend and into our Spree Fork
2) Try to get it into Spree 2-1 itself

Either option will make this more testable with the API code necessary for this change all in one place.

manual cherry-pick of https://github.com/spree/spree/pull/3859

debug

debug

fix for show_flash_error not existing in spree coffeescripts

do it right

re-apply the can_apply logic and dependency on promo change