http: Support write(data, 'hex')

We were assuming that any string can be concatenated safely to
CRLF.  However, for hex, base64, or binary encoded writes, this
is not the case, and results in sending the incorrect response.

An unusual edge case, but certainly a bug.
stream: call write cb before finish event

Since 049903e, an end callback could be called before a write
callback if end() is called before the write is done. This patch
resolves the issue.

In collaboration with @gne

Fixes felixge/node-formidable#209
Fixes #5215
buffer: fix offset checks

Fixed offset checks in Buffer.readInt32LE() and Buffer.readInt32BE()
functions.
blog: Post for v0.8.23
docs: uncaughtException is here to stay

Brings docs in line with decision made here:

https://github.com/joyent/node/issues/2582#issuecomment-9971225
crypto: remove unused ClientHelloParser field
net: fix socket.bytesWritten Buffers support

Buffer.byteLength() works only for string inputs. Thus, when connection
has pending Buffer to write, it should just use it's length instead of
throwing exception.
Revert "crypto: use better memory BIO implementation"

This change shouldn't have landed in the stable branch. It's a feature,
not a bug fix.

This reverts commit 58f93ffc4a23aa7240808288acf8cf9f3022abea.
This reverts commit 8c8ebe49b62c47b0ac87d697d0bc3515604667c3.
This reverts commit ba0f7b8066cb4dc8cb3cd4931e52aa94af40a709.
This reverts commit 21f3c5c3670861436392f30da2033cccbc137309.
crypto: fix style issues in bio

Stop changing arguments, use local variables for things that change.
crypto: fix changing buffers in bio

We should go to next buffer if *current* one is full, not the next one.
Otherwise we may hop through buffers and written data will become
interleaved, which will lead to failure.
crypto: move write_head in bio's Reset() method
src: don't SetInternalField() in ObjectWrap dtor

Call SetPointerInInternalField(0, NULL) rather than
SetInternalField(0, Undefined()).

Fixes the following spurious NULL pointer dereference in debug builds:

  #0  0x03ad2821 in v8::internal::FixedArrayBase::length ()
  #1  0x03ad1dfc in v8::internal::FixedArray::get ()
  #2  0x03ae05dd in v8::internal::Context::global_object ()
  #3  0x03b6b87d in v8::internal::Context::builtins ()
  #4  0x03ae1871 in v8::internal::Isolate::js_builtins_object ()
  #5  0x03ab4fab in v8::CallV8HeapFunction ()
  #6  0x03ab4d4a in v8::Value::Equals ()
  #7  0x03b4f38b in CheckEqualsHelper ()
  #8  0x03ac0f4b in v8::Object::SetInternalField ()
  #9  0x06a99ddd in node::ObjectWrap::~ObjectWrap ()
  #10 0x06a8b051 in node::Buffer::~Buffer ()
  #11 0x06a8afbb in node::Buffer::~Buffer ()
  #12 0x06a8af5e in node::Buffer::~Buffer ()
  #13 0x06a9e569 in node::ObjectWrap::WeakCallback ()
src: add node_isolate to remaining scopes
domain: change name for domain setup

The name UsingDomains is misleading for a function that initializes
domains for use.
src: add using_domains to node_internals

Make it easy to check if domains are in use
req_wrap: only grab domain object if in use
src: get rid of compiler warning

Removed the following compiler warning from clang:

warning: adding 'int' to a string does not append to the string
[-Wstring-plus-int]
cluster: fix O(n*m) scan of cmd string

Don't scan the whole string for a "NODE_CLUSTER_" substring, just check
that the string starts with the expected prefix. The linear scan was
causing a noticeable (but unsurprising) slowdown on messages with a
large .cmd string property.
child_process: fix O(n*m) scan of cmd string

Don't scan the whole string for a "NODE_" substring, just check that
the string starts with the expected prefix.

This is a reprise of dbbfbe7 but this time for the child_process
module.
uv: Upgrade to v0.10.4