FIX: include all categories in category discount constraint filtering
Refactored discount calculator.
Removed option to link discounts or not.
Introduced a way to specify the 'discountable amount' on an order item (does not include quantity).
Added logging to calculator to help with debugging.
Refactored tests to be more readable, and probably faster.
Failing test "testItemAndCartLevelAmountDiscounts" is known it uncovers issue #21