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.
Fix robottelo.api.client

The Python requests library has changed upstream. Make module
`robottelo.api.client` match the upstream changes.

Update the tests for this module. Use the mock library. This allows mock classes
to be dropped, manual patching/unpatching to be dropped, and function calls to
be inspected at a more granual level.
Merge pull request #1653 from Ichimonji10/satellite-6.0.z.1

Fix `make test-robottelo`