Improve requests wrapper

Make the client does not set the content-type header when doing file
uploads.
Does not call json.dumps if data is None. None means that does not want
to send any data, but if the dumps is called it will be converted to
equivalent null on JavaScript and this make Satellite server break.
Merge pull request #1371 from elyezer/api-client-improvements

Improve requests wrapper
Port "old" API tests for content views

Make module `test_contentview_v2` accomplish most of what module
`test_contentview` formerly accomplished. Module `test_contentview` is still in
place:

* Not all tests in that module have been implemented, so they are untouched.
* Some tests in this module do not test content views, so they should be ported
  into somewhere other than `test_contentview_v2`.