File upload support

I merged philipn's code and modified it slightly. Passes all tests with requests 1.1.0 and my limited tests with json show it works. Cheers.