build: vcbuild.bat fix for Visual Studio 2012

Change vcbuild.bat to ignore VCINSTALLDIR environment variable,
always check for specific VS version and set GYP_MSVS_VERSION
accordingly. Otherwise GYP generates project files in format
that cannot be compiled by VS2012.
Merge branch 'v0.10'
doc: update options for exec and execFile

The stdio and customFds options are never used by exec or execFile,
remove them from the documentation for these functions.
build: only use DESTDIR instead of PREFIX for pkg

Preserve default install prefix seen in process.config, but use DESTDIR
for installing to deliniate 32/64 versions, avoid conflicts with PREFIX
settings in config.mk
build: only use DESTDIR instead of PREFIX for pkg

Preserve default install prefix seen in process.config, but use DESTDIR
for installing to deliniate 32/64 versions, avoid conflicts with PREFIX
settings in config.mk
test: reap children when cluster-bind-twice fails
test: report test duration in TAP progress
test: report test duration in TAP progress
stream_wrap: remove unused arg from WriteBuffer

WriteBuffer was changed in the cork/uncork implementation (60ed2c54).
The unused argument has been removed.
stream_wrap: fix memory leak on early return
test: don't use total_seconds() because of py2.6
test: don't use total_seconds() because of py2.6
stream: make Readable.wrap support objectMode

Added a check to see if the stream is in objectMode before deciding
whether to include or exclude data from an old-style wrapped stream.
stream: make Readable.wrap support empty streams

This makes Readable.wrap behave properly when the wrapped stream ends
before emitting any data events.
debugger, cluster: each worker has new debug port

Implement support for debugging cluster workers. Each worker process
is assigned a new debug port in an increasing sequence.

I.e. when master process uses port 5858, then worker 1 uses port 5859,
worker 2 uses port 5860, and so on.

Introduce new command-line parameter '--debug-port=' which sets debug_port
but does not start debugger. This option works for all node processes, it
is not specific to cluster workers.

Fixes joyent/node#5318.
src: initialize debug-related uv_async_t handles

uv_async_t handles for dispatching of debug messages and
emitting NODE_DEBUG_ENABLED used to be initialized every time
node::EnableDebug() was called, which happened every time
user sends a SIGUSR1.

Now they are initialized only once from node::Init() during
application start.
os: Include netmask in os.networkInterfaces()

re #3765 and #5432
fixes #4743
doc: document stream.Writable 'error' event

Fixes #5255.
test: fix pummel/test-net-many-clients.js

client sockets no longer emit 'connect' event inside the
requestListener, update test-net-many-clients to reflect that
stream: Guarantee ordering of 'finish' event

In synchronous Writable streams (where the _write cb is called on the
current tick), the 'finish' event (and thus the end() callback) can in
some cases be called before all the write() callbacks are called.

Use a counter, and have stream.Transform rely on the 'prefinish' event
instead of the 'finish' event.

This has zero effect on most streams, but it corrects an edge case and
makes it perform more deterministically, which is a Good Thing.