Fix a few 'compile' bugs
Charge record no longer assumes there will be an associated customer. We can have charges with no customer record
Add a method for creating  a Charge entry without a customer (this method shares a lot of code with Customer.charge, should be refactored)