[feature] Add subscription metadata

This adds a handful of new methods to `Chargify::Subscription`

`create_metadata` - allows you to create or update a metadata object for a
subscription. It will be saved to the server as soon as it is called.

Example

```ruby
subscription = Chargify::Subscription.find(123)
metadata     = subscription.create_metadata(:name => 'Shirt Size', :value => 'M')
metadata.persisted? # => true
```

`build_metadata` - allows you to create a new metadata object for a
subscription *without* saving it. This is useful if you want to build up
a metadata object and do some things with your internal application
logic and then save it later.

Example

```ruby
subscription = Chargify::Subscription.find(123)
metadata     = subscription.build_metadata(:name => 'Shirt Size')

metadata.persisted? # => false
...

metadata.value = 'L'
metadata.save
```

`metadata` - fetches all of your metadata for a given subscription. (A
collection of metadata)

Example

```ruby
subscription = Chargify::Subscription.find(123)
data         = subscription.metadata # => [data1, data2, ... datan]
```

Important things to note about metadata

To update a piece of metadata fetch it set it's value and save it. If
you want to change the metadata name use the `name` field to update it
after it is fetched. You'll notice that there is a `current_name` that
is used for internal purposes to track changes. For mor information
about metadata [see](https://docs.chargify.com/api-metadata)