Metadata API

Added metadata property on charge, customer, transfer, and transfer recipient.

Metadata does the right thing on:
- [x] create
- [x] update individual keys: `ch.metadata['uuid'] = '134234ssdf'`
- [x] update all of metadata `ch.metadata = {'uuid' => '134234sdff'}`
- [x] delete individual keys: `ch.metadata['uuid'] = nil`
- [x] delete all of metadata: `ch.metadata = nil`
- [x] tests!