two step response message parsing, to not guess encoding

We fetch the response as a buf8, split its status line, header and body
and then find out the encoding before actually treat the body as text.
Since the body also can be a binary blob, and therefore wants to stay
an buf8.
handle chunked transfer encoding

This involves fetching more and more chunks depending on the chunk
size field every chunk starts with.