process: invoke EventEmitter on `process`

This properly sets the `_maxListeners` property, which
fixes the max listener warning. Closes #4924.
child_process: handle ENOENT correctly on Windows
cares: Set process._errno, not global.errno

This makes test-internet pass
DNS: Support NAPTR queries

They were previously removed in a90bc78534d94940a6b726c01cf8427c296b4c63.
src: remove unused symbols in node_file.cc
handle_wrap: replace unref_ field with flags_ field

Prep work for a follow-up commit that adds support for close callbacks.
handle_wrap: add close callback support
net: use close callback, not process.nextTick

Don't emit the 'close' event with process.nextTick.

Closing a handle is an operation that usually *but not always* completes
on the next tick of the event loop, hence using process.nextTick is not
reliable.

Use a proper handle close callback and emit the 'close' event from
inside the callback.

Update tests that depend on the intricacies of the old model.

Fixes #3459.
http: fix multiple timeout events

Fixed up slightly by @isaacs so as not to miss 'timeout' events in some
cases.
node: Add --throw-deprecation

Extremely handy when tracking down a flood of recursive nextTick warnings.
test: Pass cli flags in pummel/test-regress-GH-892
stream: Remove unnecessary nextTick usage in Writable

Fix #4928
stream: Increase highWaterMark on large reads

If the consumer of a Readable is asking for N bytes, and N > hwm,
then clearly we have set the hwm to low, and ought to increase it.

Fix #4931
stream: Remove pipeOpts.chunkSize

It's not actually necessary for backwards compatibility, isn't
used anywhere, and isn't even tested.  Better to just remove it.
stream: Remove bufferSize option

Now that highWaterMark increases when there are large reads, this
greatly reduces the number of calls necessary to _read(size), assuming
that _read actually respects the size argument.
stream: Allow strings in Readable.push/unshift

Fix #4909
stream: Raise readable high water mark in powers of 2

This prevents excessively raising the buffer level in tiny increments in
pathological cases.
bench: Use environ to run compares more than once

This will run the benchmarks the number of times specified by NODE_BENCH_RUNS,
to attempt to reduce variability.

If the number of runs is high enough, it'll also throw out the top and bottom
quartiles, since that's where the outliers will be.

It's not very fancy statistics-fu, but it's better than nothing.

Also, linted this file.  It had tabs in it.  TABS!
http: More useful setTimeout API on server

This adds the following to HTTP:

* server.setTimeout(msecs, callback)
  Sets all new connections to time out after the specified time, at
  which point it emits 'timeout' on the server, passing the socket as an
  argument.
  In this way, timeouts can be handled in one place consistently.
* req.setTimeout(), res.setTimeout()
  Essentially an alias to req/res.socket.setTimeout(), but without
  having to delve into a "buried" object.  Adds a listener on the
  req/res object, but not on the socket.
* server.timeout
  Number of milliseconds before incoming connections time out.
  (Default=1000*60*2, as before.)

Furthermore, if the user sets up their own timeout listener on either
the server, the request, or the response, then the default behavior
(destroying the socket) is suppressed.

Fix #3460
V8: Upgrade to 3.14.5.8