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)
That only works as long as you don't use the clients which rely on them (for example, fileUploads). From that perspective, it's no different than implementing the method as no-op. I'll experiment with breaking up into two interfaces to see how that looks tho