http: style
http: Proper KeepAlive behavior

Instead of destroying sockets when there are no pending requests, put
them in a freeSockets list, and unref() them so that they do not keep
the event loop open.

Also, set the default max sockets to Infinity, to prevent the awful
surprising deadlocks that happen when more connections are made.
http: Add agent.get/request methods
http: Reuse more http/https Agent code
http: Use OOP for OutgoingMessage._finish

Sniffing instanceof a child class in the parent class's method
is Doing It Wrong.