2014.05.01, Version 0.10.28 (Stable)

* npm: upgrade to v1.4.9
Merge branch 'v0.10.28-release' into v0.10
Now working on 0.10.29
deps: backport 23f2736a from v8 upstream

Original text:

    Fix corner case in x64 compare stubs.

    BUG=v8:2416

    Review URL: https://codereview.chromium.org/11413087

fix #7528
constants: export O_NONBLOCK

Signed-off-by: Fedor Indutny <fedor@indutny.com>
npm: upgrade to 1.4.10

* Don't set referer if already set
* fetch: Send referer and npm-session headers
* run-script: Support --parseable and --json
* list runnable scripts (Evan Lucas)
* Use marked instead of ronn for html docs
test: replace http-destroyed-socket-write

As a comment in the test states: "This test should not be ported to
v0.10 and higher, because the problem is fixed by not ignoring
ECONNRESET in the first place."

The test is checking whether write returns false instead of whether an
ECONNRESET has been raised.

Replace with test-http-destroyed-socket-write2, this test verifies that
ECONNRESET is raised when writing to an http request where the server
has destroyed the socket.

Signed-off-by: Timothy J Fontaine <tjfontaine@gmail.com>
stream: don't try to finish if buffer is not empty

fixes #5715
test: http-destroyed-socket-write win32 may ABORT

On windows you can see ECONNABORTED instead of ECONNRESET in various
scenarios, and they are both applicable we're testing that Node is not
swallowing these errors which it was known to do prior to 0.10
lib: name EventEmitter prototype methods

Before this commit the EventEmitter methods were anonymous functions.
V8 tries to infer names for anonymous functions based on the execution
context but it frequently gets it wrong and when that happens, the
stack trace is usually confusing and unhelpful.  This commit names all
methods so V8 can fall back to the method.name property.

The above gotcha applies to all anonymous functions but is exacerbated
for EventEmitter methods because those are invoked with a plenitude of
different receivers.

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
buffer: Fix incorrect Buffer.compare behavior

Fixes #7551

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
url: treat \ the same as /

See https://code.google.com/p/chromium/issues/detail?id=25916

Parse URLs with backslashes the same as web browsers, by replacing all
backslashes with forward slashes, except those that occur after the
first # character.

Manual rebase of 9520ade

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
doc: fix a typo

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
src: add --throw-deprecation entry to --help
doc: add spec for util.deprecate()

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
crypto, zlib: replace _binding with _handle

Also include whitespace fixes to appease jslint.

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
src: fix StringBytes::Write if string is external

Signed-off-by: Fedor Indutny <fedor@indutny.com>
node: remove duplicate tickInfo assignment

When process._setupNextTick() was introduced as the means to properly
initialize the mechanism behind process.nextTick() a chunk of code was
left behind that assigned memory to process._tickInfo. This code is no
longer needed.
src: fix spelling mistake

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
readline: fix close event of readline.Interface()

Not removing 'end' listeners for input and output on the 'close' event
resulted in an EventEmitter related memory leak.

This issue also might be reproduced at:
https://github.com/npm/npm/issues/5203

Signed-off-by: Trevor Norris <trev.norris@gmail.com>