build: install common.gypi along with headers

node-gyp requires this file
npm: Upgrade to v1.3.22
build: add settings for VS 2013 to vcbuild.bat

Search for VS2013 compiler 1st, before falling back to older ones. This
allows compiling using the latest VS2013.
doc: Fix missing backtick in debugger doc
deps: update gyp to 828ce09
Merge remote-tracking branch 'upstream/v0.10'
doc: Fix doc heading for 'response' event

Add colon to event heading to ensure it matches other events.

Fixes joyent/node#5687
cluster: report more errors to workers

Some errors for listening and binding to a socket were not properly
delivered to workers.

fix #6767
uv: Upgrade to v0.11.17
cluster: replace erroneous comma with semicolon
cluster: disconnect callback should always occur

Fixes issue in 0.11 where callback doesn't occur if worker count is
currently zero.  In 0.10 callback occurs after worker count is zero, and
occurs in next tick if worker count is currently zero.
cluster: only forcibly exit worker on unclean exit

Fix inadvertent v0.11 changes to the definition of suicide, particularly
the relationship between suicide state, the disconnect event, and when
exit should occur.

In v0.10, workers don't forcibly exit on disconnect, it doesn't give
them time to do a graceful finish of open client connections, they exit
under normal node rules - when there is nothing left to do. But on
unexpected disconnect they do exit so the workers aren't left around
after the master.

Note that a test as-written was invalid, it failed against the v0.10
cluster API, demonstrating that it was an undocumented API change.
cluster: do not synchronously emit 'setup' event

This is a problem present in both v0.10, and v0.11, where the 'setup'
event is synchronously emitted by `cluster.setupMaster()`, a mostly
harmless anti-pattern.
test: fix assumption of worker exit on disconnect

Master was disconnecting its workers as soon as they both started up.
Meanwhile, the workers were trying to listen. Its a race, sometimes the
disconnect would happen between when worker gets the response message,
and acks that message with a 'listening'. This worked OK after v0.11
introduced a behaviour where disconnect would always exit the worker,
but once that backwards-incompatible behaviour is removed, the worker
lives long enough to try and respond to the master, and child_process
errors at the attempt to send from a disconnected child.
test: fix test-cluster-eaccess to work on windows
Merge remote-tracking branch 'upstream/v0.10'

Conflicts:
	lib/cluster.js
	lib/dgram.js
	lib/net.js
dns: add resolveSoa and 'SOA' rrtype

You can now query for SOA records by either passing 'SOA' to `resolve`
or by using the new `resolveSoa`
docs: process.on('exit') receives exit code

The fact that the "exit" event passes the exit code as an argument
as omitted from the documentation. This adds the explanation and
augments the example code to show that.
doc: clarify process on exit safe usage
doc: document that `process.send` is synchronous

Ref #2598