New testing interface for receipt output
Fixed classnames on ReceiptFormat modules
Receipt changes: reprints, refactor, maybe a bugfix

I updated ReceiptLib::printReceipt so that it can accept
a transaction reference as the first argument. I want this to
eventually replace ReceiptLib::reprintReceipt so there's one code
path for printing and ancillary stuff (headers, footers, etc) is
the same on original receipts and reprints

I change the receipt type "if" block a bit to put a couple more
types on the outer level. It's not a functional change but seems
more logical.

Reprinting a member receipt and then proceeding to ring items
MAY cause member special prices to apply even though a member number
hasn't been entered on the transaction. If this is the culprit, that
resolves a really REALLY old bug