tls: reset NPN callbacks after SNI

SNI callback selects a new SSL_CTX for the connection, which doesn't
have NPN callbacks set up.
process: document kill(0), disallow kill(O_RDWR)

The null signal test existed, but only tested the case where the target
process existed, not when it did not exist.

Also clarified that SIGUSR1 is reserved by Node.js only for receiveing,
its not at all reserved when sending a signal with kill().

kill(pid, 'O_RDWR'), or any other node constant, "worked". I fixed this
by also checking for 'SIG'. The same as done in the isSignal() function.
Now the signal names supported by process.kill() are the same as those
supported by process.on().
doc: change constant to consistent
doc: list execArgv option for child_process.fork()
tls: fix pool usage race

When calling `encOut` in loop, `maybeInitFinished()` may invoke
`clearOut`'s loop, leading to the writing of interleaved data
(encrypted and cleartext) into the one shared pool.

Move `maybeInitFinished()` out of the loop and add assertion for
future.
blog: bnoordhuis departure
crypto: Make Decipher._flush() emit errors.

When Decipher processes a stream using an incorrect key, the
DecipherFinal() method throws an unhandled exception at the end of the
stream.
doc: document 'error' event for stream.Writable

fix #5255
doc: mention execArgv in setupMaster
build: ./configure pass positional args to gyp

use `--` to specify the arguments you want to pass directly to gyp.

for example: `./configure -- --no-parallel -Dsome_define=foo`

fixes #6370
build: pass --no-parallel by default to gyp

gyp by default now tries to process gyp files in parallel by using
python's multiprocessing module, but it has problems on oddball
platforms. We don't have many files or complex dependency chains that
would benefit from parallel processing so disable by deafult

fixes #6640
build: only whole archive on static v8 builds

Closes #6629
tls: emit 'end' on .receivedShutdown

NOTE: Also removed `.receivedShutdown` method of `Connection` it wasn't
documented anywhere, and was rewritten with `true` after receiving
`close_notify`.

fix #6638
fs: report correct path when EEXIST

When `symlink`, `link` or `rename` report EEXIST, ENOTEMPTY or EPERM -
the destination file name should be included in the error message,
instead of source file name.

fix #6510
npm: Upgrade to 1.3.17
gyp: update to 78b26f7
uv: Upgrade v0.10.20
doc: "finish" event is on the writable stream
doc: mention `binary` as deafult for Hash strings
doc: fix typos in node.1