Merge pull request #16 from wellnessfx/feature/56650236-purchase_description

generate purchase descriptions
added ability to decrement remaining coupon uses
added methods to Purchase to get the non-consult subtotal
make backwards compatible with old emerald
refactoring + making the coupon selection work properly
fixing backward compatibility with old emerald
fixed new and old test failures
fix mock coupons
added specs for coupon discount calculation
Merge pull request #17 from wellnessfx/feature/70205870-update_for_new_coupons

Feature/70205870 update for new coupons