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.

This also makes the test_positive_delete_1 added by #1367 pass.
This might be clearer?

```python
if 'files' in kwargs:
    return  # requests will automatically set content-type
...
```