Allowing multiple discounts to stack instead of overwrite

#1904 - Seems to be working well. Even tested flat rates as well as the negative % discounts that Mika was using. The issue was mainly that we were just setting the discounted amount based off the full price, when in fact we needed a running discount tally, where we took the full price minus the discounted price to get the actual discount amount, and then subtract that from the running discounted amount.