first step for the request by ref API changes
obvious fixes.

always make the mistake to use the dic API for ets...
move connection handling to its own module

This change move the socket connection to its own module. Also it is
introducing the create_connection/4 function so we can distinct it later
from the connect function.

Note: for now connect/4 is a wrapper to create_connection/4 waiting the
new API.
src/hackney_request_sup.erl -> src/hackney_manager.erl

while I am here add the update_state/2 functions and remove the
bytes_sent/bytes_received functions. Such infos are already availaible
in the socket information so let this thing for later waiting a proper
function.
wip
some fixes.

Ex:

1> hackney:start().
ok
2> {ok, Status, Headers, Ref} = hackney:get("http://friendpaste.com").
{ok,301,
    [{<<"Server">>,<<"nginx/0.7.62">>},
     {<<"Date">>,<<"Sun, 01 Dec 2013 02:58:28 GMT">>},
     {<<"Content-Type">>,<<"text/html">>},
     {<<"Content-Length">>,<<"185">>},
     {<<"Connection">>,<<"keep-alive">>},
     {<<"Location">>,<<"https://friendpaste.com/">>}],
    #Ref<0.0.0.95>}
3> hackney:body(Ref).
{ok,<<"<html>\r\n<head><title>301 Moved
Permanently</title></head>\r\n<body
bgcolor=\"white\">\r\n<center><h1>301 Moved Per"...>>}
fix redirection
fix synchronous requests.
new async api

This change make sure we are reusing the request reference when handling
async reponses. Now an async stream is also managed by the
hackney_manager so we can detect when a request is async or not and
reuse the same API adn correclly close the async stream when the parent
die.

For performances reasons, messages are directly sent to the process
handling the async connection , only shutdowns are handled by the
hackney manager.

This change also preserve the memory by making sure that no message
passing is used when sending the request or stopping an async response.

fix #47
remove the close_stream function

there is no need anymore for this close_stream function, only closing
the client is enough now
make the dispcount based pool an external extension

The dispcount based pool handler is now available in its own repository:

https://github.com/benoitc/hackney_disp

So people don't have to depends on dispcount if they don't want to.
Merge branch 'request_ref'