Add FileUpload

* adds uploads.stripe.com endpoint
* adds support for multipart content
* some interface changes since we now have multiple backends
* bump to 4.0.0 since this is breaking

r? @wangjohn 
cc @metcalf (since it changes some of the interfaces you're relying on)
Ooof, this interface starts to feel really strained. Is it necessary to even provide the ability to get/set global backends? It seems like an advanced feature that would be better served by guiding people to use a client instance.