Added ability to make a reservation and take discounts into account.  Added more unit tests for different reservation situations