Allow customizing the HTTP response body charset.

This allows to interpret HTTP responses with other encodings than utf-8 and with wrong encodings correctly.

*Example:* If the response body is latin-1-encoded, utf-8 decoding would replace characters like `ü` with `�`, making it impossible to guess which character was in the original response. With a customizable encoding, `binary` can be used to get the unchanged response body. The string can then be converted with a library like [iconv-lite](https://github.com/ashtuchkin/iconv-lite).