(WIP) Cdodge/ecommerce improvements

Though all of our current items have `course_id`s, I don't think it's a good idea to make that assumption here. I would use duck-typing to figure out whether or not this coupon applies.