fs: fix ReadStream / WriteStream missing callback

The (undocumented) callback argument to .destroy() was not called if the
stream was no longer readable / writable.
node: tag Encode and friends NODE_EXTERN

Makes the symbols visible on Windows. They were already visible on Unices.

Fixes #3811.
deps: remove openssl apps and tests

Shrinks the tarball by a few hundred kilobytes and fixes a broken symlinks
issue on Windows.

Fixes #3813.
net: fix .listen({fd:0})
installer: fix cross-compile installs

The old installer was a JS script, which didn't work if node had been
cross-compiled for another architecture. Replace it with a python script.

Fixes #3807.
npm: Upgrade to 1.1.46
test: stdin error messages
doc: improve cluster.workers documentation
build: Sign pkg installer for OS X

This makes the installer work on Mountain Lion.
2012.08.02, Version 0.8.5 (Stable)

* node: tag Encode and friends NODE_EXTERN (Ben Noordhuis)

* fs: fix ReadStream / WriteStream missing callback (Gil Pedersen)

* fs: fix readFileSync("/proc/cpuinfo") regression (Ben Noordhuis)

* installer: don't assume bash is installed (Ben Noordhuis)

* Report errors properly from --eval and stdin (isaacs)

* assert: fix throws() throws an error without message property (koichik)

* cluster: fix libuv assert in net.listen() (Ben Noordhuis)

* build: always link sunos builds with libumem (Trent Mick)

* build: improve armv7 / hard-float detection (Adam Malcontenti-Wilson)

* https: Use host header as effective servername (isaacs)

* sunos: work around OS bug to prevent fs.watch() from spinning (Bryan Cantrill)

* linux: fix 'two watchers, one path' segfault (Ben Noordhuis)

* windows: fix memory leaks in many fs functions (Bert Belder)

* windows: don't allow directories to be opened for writing/appending (Bert Belder)

* windows: make fork() work even when not all stdio handles are valid (Bert Belder)

* windows: make unlink() not remove mount points, and improve performance (Bert Belder)

* build: Sign pkg installer for OS X (isaacs)
Merge branch 'v0.8.5-release' into v0.8
Now working on 0.8.6
Blog post about 0.8.5
blog: Fix date on 0.8.5 release
net: make pause work with connecting sockets

This fixes the problem that calling pause() on a socket would not
actually prevent 'data' events from being emitted. It also replaces
the existing test by a more elaborate one.

Ref: #3118
installer: honor --without-npm, default install path

* honor the --without-waf and --without-npm configure switches

* a small logic bug made the installer script install to $PWD instead of
  /usr/local if --prefix= was not passed to configure
installer: prevent ETXTBSY errors

The installer does what amounts to `cp -p`. If the node binary is in use at
the time of the copy, it'd fail with a ETXTBSY error. That's why it's unlinked
first now.
install: install the "wafadmin" files into the correct directory

Before they were just being copied into "lib/node/".
Now they go into "lib/node/wafadmin/".
blog post for 0.6.21
child_process: Fix stdout=null when stdio=['pipe']

Previously, a command with a short stdio array would result in the child's
stdout and stderr objects set to null. For example:

var c = child_process.spawn(cmd, args, {stdio: ['pipe']});
// results in c.stdout === null.

The expected behavior is the above line functioning the same as this one:

var c = child_process.spawn(cmd, args, {stdio: ['pipe', null, null]});
// provides correct (non-null) c.stdout; as does the above, after this fix.