a process can handle multiple request in hackney.

It expected that hackney 1 can launch multiple requests in one process (this
is not the case in other clients). So make sure we control the number max of
process by handling a request event instead of the process event when
controling the number of sockets checked out.

While I'm here let the manager send an event to the pool if the request owner
goes down or if the request is canceled.

fix #139