vm: cleanup module memory leakage

There are some paths here that led to dangling contexts. By being smarter with
handle management we can get rid of all the cleanup code and fix those issues.

This is a backport of commit 7063575.
bench: add http_simple_auto benchmark

Starts a server and benchmarks it with ab.
bench: start a worker for each CPU
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.

This is a cherry-pick of commit 1f3e4a7 into the v0.6 branch.
doc: remove all references to setsid

Fixes #2299.
website: Add nodejs.es to localized sites
Revert "punycode: Update to v1.0.0"

This reverts commit 483edbdf1aef40c208f6c96efbbcc3c34122e5f2.
Fixes #3359.
deps: upgrade libuv to 06e0319
Upgrade npm to 1.1.24
2012.06.06 Version 0.6.19 (stable)

* npm: upgrade to 1.1.24

* fs: no end emit after createReadStream.pause() (Andreas Madsen)

* vm: cleanup module memory leakage (Marcel Laverdet)

* unix: fix loop starvation under high network load (Ben Noordhuis)

* unix: remove abort() in ev_unref() (Ben Noordhuis)

* windows/tty: never report error after forcibly aborting line-buffered read (Bert Belder)

* windows: skip GetFileAttributes call when opening a file (Bert Belder)
Merge branch 'v0.6.19-release' into v0.6
Now working on 0.6.20
build: Prevent duplication of doc/api folder
windows: don't print error when GetConsoleTitleW returns an empty string
cluster: don't silently drop messages when the write queue gets big
core: use proper #include directives
build: always link with -lz

Fix building with a shared zlib: ensure link with '-lz'.

Configuring for a shared zlib:

    LDFLAGS="-L/opt/local/lib -R/opt/local/lib" \
        ./configure --shared-zlib \
        --shared-zlib-includes=/opt/local/include \
        --shared-zlib-libpath=/opt/local/lib

and building would fail on SmartOS because the link would not include '-lz'.
This doesn't fail on Mac (at least in my setup) because you get lucky with the
openssl libs reported from the Homebrew pkg-config:

    $ pkg-config --libs openssl
    -lssl -lcrypto -lz

On SmartOS, the pkgsrc libs for openssl are:

    $ pkg-config --libs openssl
    -Wl,-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto -lsocket -lnsl -ldl

The patch has no adverse effect on the Mac build (by control case).
benchmark: Backport improvements made in master

Ported to v0.6 for easier comparison in the 0.8.0 blog post.
deps: upgrade libuv to be09be7
repl: fix crashes when buffering command

Wrong order of operands was causing problems while trying to use command
buffering:

    > {
    ...   a: 3,
    ...

    repl.js:284
            if (cmd.trim().match(/^npm /) && !self.bufferedCommand) {
                    ^
    TypeError: Cannot call method 'trim' of undefined
        at finish (repl.js:284:17)
        at REPLServer.self.eval (repl.js:118:5)
        at rli.on.e (repl.js:260:20)
        at REPLServer.self.eval (repl.js:118:5)
        at Interface.<anonymous> (repl.js:250:12)
        at Interface.EventEmitter.emit (events.js:88:17)
        at Interface._onLine (readline.js:183:10)
        at Interface._line (readline.js:502:8)
        at Interface._ttyWrite (readline.js:720:14)
        at ReadStream.<anonymous> (readline.js:105:12)

Test included.

Closes #3515.
Closes #3517.
Closes #3621.