Milestone 4

In discount_calculator_test we've added a test that expects a ValueError
if the wrong type is thrown. However, on first test this fails. We
refactor discount_calculator.py to give a ValueError when the wrong type
is given.

All four tests pass with the new code.