Added CouponApplicator class

Fixes #2548

This is a combination of four commits + this one:

* Use CouponApplicator in API's CheckoutsController
* Fix spec failures
* CheckoutsController spec for apply a coupon to an order
* Removed unnecessary include