Add methods/services for payments, logging and various improvements

I added most of the credit card/payment handling stuff here. I also refactored the service definitions so the methods are grouped together more logically. More properties have been added to transactions, a gateway redaction method is in here if it wasn't already. I also added request/response logging and log4net support.

We are currently using this version of the library internally at my company, so I am fairly confident of the changes. However, there are no additional unit tests.