Refactorized discount calculation

Moved discount calculation from Receipt to Discount.
Added type of discount; now support absolute value for discount.
Fixed bug where receipt->getTotal ignored product discounts.