net: fix 'close' event emit order

The server 'close' event was emitted before the last client 'close' event. Not
exactly fatal but potentially confusing.

Before this commit the order looked something like [client, server, client],
now it looks like [client, client, server].

See #3340 for more details.
deps: upgrade libuv to 7556590
Merge branch 'v0.7.9-release'
Now working on 0.7.10
test: update pummel/test-exec

ChildProcess.prototype._internal is called ChildProcess.prototype._handle now.
uv: upgrade to 87dbffbd
child_process: new stdio API for .spawn() method
windows: add icon to node.exe

The icon could definitely be nicer, patches welcome.
Credits to Nathan Rajlich for putting together this one.
windows: don't install x64 version into the 'program files (x86)' folder

* Update nodemsi.sln and .wixproj to include support for x64 platform
  - Add ProgramFilesFolderId to the DefineConstants property for each
    configuration/platform's property group with the appropriate value
    (ProgramFilesFolder for x86 builds, ProgramFiles64Folder for x64
    builds)

* Update product.wxs:
  - update the Id value for the "Program Files" Directory element to
    use a preprocessor constant.
  - remove hard-coded platform from the Package element.  MSI platform
    will be automatically detected based on MSBuild's Platform property.
    (This was already supported in the Wix MSBuild targets, we just
    weren't taking advantage of it.)

*  Update vcbuild.bat to set MSBuild's Platform property appropriately,
   defaulting to x86 if not explicitly supplied by the user. Note that
   creating an x64 build requires that vcbuild.bat be run from a VS
   64-bit command prompt.

Closes #3312
Closes #3356
http: don't lowercase http req header until later

Don't lowercase the request header until we're in the _addHeaderLine method,
makes it easier to intercept the raw request headers.
child_process: new stdio API for .spawn() method
Upgrade v8 to 3.11.7
v8: Floating patches
v8: debug: fix error handling in SendConnectMessage()

The old error handling code checked if the return value of Socket::Send() != 0,
which is wrong because Socket::Send() can write less bytes than requested or
return -1 on error.
test: v8 stack trace messages changed slightly
Unbreak the Windows build

The v8 team apparently decided that all build products should go
into ./build/«type», and updated their common.gypi file to do so.
Unfortunately v8's common.gypi is only used for some targets. All
the other targets would still look in the old place to find their
their dependencies, which effectively broke the build.

In the long run it would be good for node to send all build
output to ./build too, on all platforms.
windows/msi: cleanup WiX project files

The current WiX project files do some manual processing and generation
which WiX supports doing out of the box. This patch will use the
HeatDirectory task to generate the npm.wxs file and use the auto GUID
generation. I also changed the msi filename generation to include the
version number to match the currently used name for released msi files.

Closes #3360
windows/msi: add start menu links when installing
Improve child process stdio documentation
windows/msi: fix adding node to PATH

Closes #3366