fix(request): allow passing buffers as request body

This allows passing a buffer as request body, which is useful when e.g. gzipping the payload or sending binary content.

Also, 
```
!reqOptions.hasOwnProperty('Content-Length')
```
will never be true as Content-Length is never defined on reqOptions (it could, however, be set in reqOptions.headers ), so let's always specify Content-Length depending on whatever request body we're provided with.