Chore: Update gitignore to latest version
Feature: Add payment_gateway_adapter accessor

We want to be able to specify the `payment_gateway_adapter` in a configuration
file, and therefore we added an accessor so to be able to set the adapter and
access it.
Feature: Allow free subscriptions to be created on Stripe

We realized that we want to be able to create free subscriptions, and therefore
there we should not need a credit card number to be passed in order to do so.
Previously, we were getting the customers `default_card` from Stripe and calling
`last4` on it, regardless of the amount of the plan.

Stripe does allow a null credit card for free subscriptions, however because of
the above implementation, if we created a free subscription we would still be
asking stripe for the `default_card` and calling `last4` and blowing up!

Now we do a simple check to see the plan amount for the `subscription` and if it
is `zero?`, we do not ask for the `default_card` and the
`last_four_of_credit_card` will be equal to nil.

Note: We now need to change the database structure and validations to allow
`last_four_of_credit_card` to be null on the `subscription` model.
Chore: Upgrade human_error
Chore: Update stripe_api_key for test mode
Chore: Update stripe
Chore: Update rspectacular to clear stripe after each test
Feature: Allow payment methods to be updated for existing subscriptions

There was previously no way to pass in a payment token for an existing
subscription.

Now, we update the subscription with the passed in payment token.  We do this
whether or not the subscription was just now created in that call.  This is
a bit less performant and if we need to change it later, we can, but for right
now, we're good with this.

We also rescue from an `InvalidRequestError` in the case that we attempt to
update the subscription with a token that we've already used in the past.
Mainly this happens when we create a new subscription and then attempt to update
the subscription with that same payment token.
Version Bump to 1.0.0... BABY!