fs: no end emit after createReadStream.pause()

In case a fd option is given to fs.createReadStream a read will instantly
happen. But in the edge case where fd point to an empty file and .pause()
was executed instantly, the end event would emit since no async wait was
between fs.createReadStream and the file read there emits end.
deps: upgrade libuv to 2ec0986
stream: don't call `cleanup` twice on `end` and `close`
http: fix duplicated variable declaration
deps: cherry-pick libuv commit 4690204

libuv cannot be upgraded right now (API change in upstream libuv) but this
commit fixes a segmentation fault on SunOS systems, hence the cherry-pick.
upgrade npm to 1.1.23

This also upgrades node-gyp to 0.4.3
Revert "tests: kill process group on failure"

This reverts commit 0cebfc8ddb509fbf5f865bb660b73e96680b3f65.
2012.05.28, Version 0.7.9 (unstable)

* Upgrade V8 to 3.11.1

* Upgrade npm to 1.1.23

* uv: rework reference counting scheme (Ben Noordhuis)

* uv: add interface for joining external event loops (Bert Belder)

* repl, readline: Handle Ctrl+Z and SIGCONT better (Nathan Rajlich)

* fs: 64bit offsets for fs calls (Igor Zinkovsky)

* fs: add sync open flags 'rs' and 'rs+' (Kevin Bowman)

* windows: enable creating directory junctions with fs.symlink (Igor Zinkovsky, Bert Belder)

* windows: fix fs.lstat to properly detect symlinks. (Igor Zinkovsky)

* Fix #3270 Escape url.parse delims (isaacs)

* http: make http.get() accept a URL (Adam Malcontenti-Wilson)

* Cleanup vm module memory leakage (Marcel Laverdet)

* Optimize writing strings with Socket.write (Bert Belder)

* add support for CESU-8 and UTF-16LE encodings (koichik)

* path: add path.sep to get the path separator. (Yi, EungJun)

* net, http: add backlog parameter to .listen() (Erik Dubbelboer)

* debugger: support mirroring Date objects (Fedor Indutny)

* addon: add AtExit() function (Ben Noordhuis)

* net: signal localAddress bind failure in connect (Brian Schroeder)

* util: handle non-string return value in .inspect() (Alex Kocharin)
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