Refactor metadata implementation

- Support individual key/value setting without wiping
- Remove now-redundant makeRequest/transfromReq hooks from StripeMethod
- Bulk-setting metadata is now done by 1 full-reset req followed by the
new-set instead of finding individual props to reset (was pointles).
- Add ability to get a single key (convenience only, same req is made)

Possibilities are now:

```js
// Bulk setting (wiping old metadata):
stripe.customers.setMetadata(custId, { foo: 123, baz: 456 });
// Resetting:
stripe.customers.setMetadata(custId, null);
// Individual key/value setting:
stripe.customers.setMetadata(custId, 'foo', 123);

// Getting all metadata
stripe.customers.getMetadata(custId);
// Getting specific key
stripe.customers.getMetadata(custId, 'someKey');
```