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)
Ya I guess for the sake of getting something out, I'm fine with this approach. Also, thinking about it in the world of let's not generalize prematurely, this approach definitely has a smaller surface area. Also, I'd rather see this go out than us having to do needless refactoring (especially if we won't be adding a new type of call anytime soon).

:+1: