doc: child_process.execFile arguments are optional
doc: describe child_process.fork() silent option
child_process: fix spawn() optional arguments

Spawn's arguments were documented to be optional, as they are for the
other similar child_process APIs, but the code was missing. Result was
`child_process.spawn('node', {})` errored when calling slice() on an
Object, now it behaves as the documentation said it would.
doc: clarify Windows signal sending emulation
gyp: fix `ninja` build on linux

fix #6679
blog: nodejs v0.12 roadmap update
tls: show human-readable error messages

Before this commit, verification exceptions had err.message set to the
OpenSSL error code (e.g. 'UNABLE_TO_VERIFY_LEAF_SIGNATURE').

This commit moves the error code to err.code and replaces err.message
with a human-readable error.  Example:

    // before
    {
      message: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
    }

    // after
    {
      code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
      message: 'unable to verify the first certificate'
    }

UNABLE_TO_VERIFY_LEAF_SIGNATURE is a good example of why you want this:
the error code suggests that it's the last certificate that fails to
validate while it's actually the first certificate in the chain.

Going by the number of mailing list posts and StackOverflow questions,
it's a source of confusion to many people.
tls: make cert/pfx optional in tls.createServer()

Not all ciphers require the presence of a certificate.  Remove the
check in lib/_tls_wrap.js.

Fixes #6887.
src: don't mark addon_register_func as dllimport

addon_register_func and its cousin addon_context_register_func are type
definitions, dllimport and dllexport are name mangling directives, i.e.
they're quite unrelated concepts.  MinGW complains about mixing them
when cross-compiling native add-ons.

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
Signed-off-by: Bert Belder <bertbelder@gmail.com>
npm: Upgrade to v1.3.24
gyp: fix non-ninja build
doc: tls: clarify server cipher list

* Make it clear that ECDHE-RSA-AES128-SHA256 and AES128-GCM-SHA256 are
  TLS v1.2 ciphers.

* Note that RC4 is under suspicion.
doc: tls: note that SSLv2 is disabled by default

As of commit 39aa894, SSLv2 support is disabled by default.  Update
the documentation to reflect that.
lib: introduce `.setMaxSendFragment(size)`

fix #6889
test: ignore tests when built without OpenSSL CLI

fix #6880
test: refactor to use common testcfg
test: move debugger repl into own section
debug client: connect after child is ready

We now wait to connect to the debuggee until we know that
its error stream has data, to ensure that the output message
"connecting..... ok" appears after "Debugger listening on port xyz"

I also increased the test timeout to let the more complex
tests finish in time on Windows

This change fixes the following unit tests on Windows:
 test-debugger-repl.js test-debugger-repl-term.js test-debugger-repl-utf8.js
 test-debugger-repl-restart.js
test: debug-signal-cluster increase timeouts

The test needs a little more time to run so that it passes for all
builds (eg: Windows, debug)
test: relax timing in test-http-exit-delay

This test was originally intended to guard against regressions for
commit 16b59cbc74c8fe2f8b30f3af4c2f885b7bfb6030.

As such, it only needs to ensure that process exit has not been held up
by the date cache timer, which would fire on the next second.