doc: remove note about close event
http: use socket.once, not socket.on

Register the 'close' event listener with .once(), not .on().

It doesn't matter in the grand scheme of things because the listener
doesn't keep references to any heavy-weight objects but using .once()
for a oneshot listener is something of a best practice.
Now working on 0.9.12
doc: Correct version in changelog
blog: Post about v0.9.11
build/windows: don't use wrong version number

We were using a global temp file while setting the NODE_VERSION
environment variable. This resulted in simultaneous builds swapping
version numbers on occasion.

This patch removes the use of a temp file for this.
doc: Fix readable.unshift() example

Slice the portion of the buffer to unshift back into the read queue
doc: Update to reflect new _read() interface
doc: Clarify advisory-ness of stream._read() argument
doc change for Readable._read()
deps: upgrade libuv to 7e59f9b
crypto: don't assert when calling Cipher#final() twice

Remove the assert() that triggered when Cipher#final() or
Decipher#final() was called twice.

Fixes #4886.
events: add check for listeners length

Ability to return just the length of listeners for a given type, using
EventEmitter.listenerCount(emitter, event). This will be a lot cheaper
than creating a copy of the listeners array just to check its length.
events: ensure usingDomain is always boolean

Small addition to ensure that exports.usingDomains is always a bool.
events: type check setMaxListeners, cleanup throws

setMaxListeners will now make sure a positive number is passed. Also
throwing more definitive Error types.
events: simplify removeAllListeners logic

Unnecessary checks were being performed on if the event existed before
being removed.

_events starts out as null, so reset to null when emptied.

Checking typeof is a lot cheaper than isArray().
events: type check listeners

Make sure the argument passed is a string. Also use typeof === function
check instead of isArray().
events: removeListener add checks and cleanup

Remove unecessary splice for single listener events. Add type check for
"type" argument.
events: _events to object and undefined not null

By making sure the _events is always an object there is one less check
that needs to be performed by emit.

Use undefined instead of null. typeof checks are a lot faster than
isArray.

There are a few places where the this._events check cannot be removed
because it is possible for the user to call those methods after using
utils.extend to create their own EventEmitter, but before it has
actually been instantiated.
events: additional type check for addListener

Check both passed args to addListener.

Place var at beginning.