send messages from an async respomse to another pid

This change add the option `{stream_to, Pid}` with a default to the
current owner. When the option is passed the Pid become the new owner of
the request.

partially fix #66
make sure we always control the socket
make sure to reuse the connection with an async responses.
add hackney:setopts/2 function

This function allows someone to set client options when using a
persistent request ref.
prefix async response messages by hackney_response

Now all messages from an asytnc response are under the format
`{hackney_response, Ref, ... }` to distinct hackney messages from others
in a process easily.
cleandly handle HEAD and no more length responses
update the doc with the latest changes
fix typo
only the first request can be async.

With this change w make sure that only one request at a time is async.
the user should now set again the option if it reuses the reference.
add hackney:send_request/3

Allows a user to pass new option while sending a request that reuse a
reference. This is useful whn you wan to tell to hackney that you want
an async reponse or such things.
describe `hackney:setopts/2`