proxy: cleanup event listeners in the regular proxy scenario

In the Keep-Alive scenario, the socket "close" event would have around
forever, which would eventually cause an Emitter leak warning (thanks Node!).

That is now fixed.
proxy: send a proper response in the CONNECT "error" event scenario