Add support for decoding discounts and coupons

The code was assuming that discounts were amount(), but they are objects and they can contain a coupon. This change adds #stripe_discount{} and #stripe_coupon{}.