configure: fix the --without-ssl option

Closes #5807.
crypto: throw a helpful error message for "tls" and "crypto"

When node is compiled with the --without-ssl flag.
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.
smalloc: don't take address of stack var
src: cast strong persistent handles to locals

Avoids the overhead of creating a new Local every time we unwrap a
Persistent handle.
src: remove unnecessary calls to Local<T>::New()
build: fix windows build

Be very careful with forward declarations, MSVC is quite picky and
rather stupid about it.

Fixes #5810.