eCommerce enhancements

Is this field really necessary?  It leads to quite a lot of special casing, especially having to write the raw sql in `get_total_amount_of_purchased_item`.  A better alternative seems to be just adjusting `unit_cost` when a coupon is applied.  The only downside I see to this approach is that you might want to know when something was purchased for different than "listed price", but then you're already creating `CouponRedemption` entries to track that, so I don't see any loss of information.  

If anything, I'd rather just keep the `unit_cost` field semantics as "price actually paid by the customer", and add a field to track "list price".  I feel like that would lead to cleaner code.