Working on Receipt class.  I can see that I am already doing to much with the constructor.  I need to put my code from the CodeSamples into the class.  I think a receipt can be constructed with just a customer.  The product only needs to be validated when I add a LineItem.  But I want to take a snapshot of this so I don't lose anything.
I am fixing what can only be the result of stupid pills that were probably slipped to me when I was doing this.  getDiscount() should only need qty because productCost is known to the Product object.
I am giving LineItem its own getDiscount which it is getting passed from the product.  Easier to use in the receipt.
I was this close (fingers are almost together) to having it right. getDiscount() should use the LineItem's quantity, not a quantity that is passed in to it.
Added functions for Receipt, using latest LineItem.  Need to add output.
Tried a bit too much in this checkin.  Added addItemToSale(), getReceipt(), and a main() test method.
Changed getReceipt so I will be able to format the output more easily.
First try at CashRegister.  This one should be pretty simple.  
StartSale will create a new receipt based on customerID.
addLineItem will pass productID and quantity thru to the receipt.
endSale will get the receipt.
startSale() is fleshed out.
scanItem replaces my addLineItem() because a Cash Register would scan items in, not create a line item.
Test method added.