Add json upload

Closes https://github.com/kennethreitz/requests/issues/2025

TODO:

* [ ] check `TODO`s
* [ ] more tests?
* [ ] `application/json` and files upload