Add support for file uploads

Adds support for uploading files with the `uploads` method. Also abstracts the request logic to a private method that both the `uploads` and `requests` methods can use.