Major refactoring for dealing with clients

Prior to this you would end up creating a client, initializing it and
then accessing its available resources to perform operations. It would
end up looking like this:

```
client := &stripe.Client{}
client.Init("sk_key", nil, nil)

ch, err := client.Charges.Create(chargeParams)
```

That option is still available, but now we support a global client, so
you can simply do:

```
stripe.Key = "sk_key"

ch, err := charge.Create(chargeParams)
```

fyi: @zenazn @andrewpthorp