crypto: use consistent variable names

Code cleanup: don't call a Connection object `p` in some places, `c` in
other places and `ss` in yet other places. Let's just call it `conn`.

This also fixes about a million style errors in one fell swoop.
crypto: use consistent conn object unwrapping

We use `Foo:Unwrap(args.This())` everywhere else, let's use the same
idiom for Connection::Unwrap().
crypto: add TLS 1.1 and 1.2 to secureProtocol list
src: move ReqWrap::data_ to FSReqWrap

FSReqWrap is the only ReqWrap child class that uses the data_ field so
move it out of ReqWrap and into FSReqWrap.
src: clean up FSReqWrap

Move the 'free FSReqWrap data?' logic into the class itself.
src: remove redundant symbol init in node_file.cc

Don't lazy-init the oncomplete symbol string in the After() function,
it has already been created at module init time.
http: speed up callbacks, use array indices

Use array indices rather than named properties to store callbacks on
the HTTPParser object.  Speeds up the http benchmarks by a few percent.
tls: handle errors on socket before releasing it

Fix sudden uncatchable ECONNRESETs, when using https server.
zlib: replace C cast with static_cast

Seems to have escaped the Eye of Sauron^WFedor in commit 8e29ce9.
tools: cpplint: fix NOLINT(build/include_order)

And build/include, build/include_alpha and readability/streams
probably too, though those are currently unused and therefore untested.
smalloc: don't do Has(key), then Get(key)

Don't check for the key first before retrieving it. Just fetch it and
check that it has the type we expect.
src: add MakeCallback() that takes an array index

Internal helper function for dispatching by array index rather than
named property.
timers: dispatch ontimeout callback by array index

Achieve a minor speed-up by looking up the timeout callback on the timer
object by using an array index rather than a named property.

Gives a performance boost of about 1% on the misc/timers benchmarks.
node: remove duplicate infoBox checks

These checks are now done in C++ and don't need to also be checked in
JS. Also remove a couple unused variables.
test: update tests after internal api change

Commit 0aa1335 changes the way timeout events are dispatched. Update
two tests that still used the old way.
http: add agent.maxFreeSockets option
doc: http keepalive, agent options

Close #5839
http: provide access to raw headers/trailers

The format is [key,value,key,value,...] because that seems to have the
lowest overhead.

Close #4844
doc: http rawHeaders/rawTrailers
http: Write hex/base64 chunks properly

This removes a dubious performance "optimization" where strings body
chunks were concatenated to one another (and to the headers) without any
regard for their encoding.