Buffer.isEncoding(enc)

Re: #3918
fs: Throw early on invalid encoding args

Re #3918
lint
build: fix -fno-tree-vrp heuristic

-fno-tree-vrp is a gcc only switch. Don't enable it when compiling with clang,
it will only complain about -fno-tree-vrp being ignored.
build: compile with -fno-tree-sink if gcc <= 4.4

Fixes a 'pure virtual method called' run-time error with some versions of gcc
on some platforms, notably ARM.
windows: fix single-accept mode for shared server sockets
uv: upgrade to 621a4e3
Merge branch 'v0.8'

Conflicts:
	ChangeLog
	deps/openssl/openssl.gyp
	src/node_version.h
constants: add O_DIRECT

This will allow to speed up file i/o in some cases by usage of right offsets
and buffer sizes.
windows: make test-child-process-exec-error pass
uv: upgrade to 162e57b
build: fix `make -j' fails after `make clean'

make fails if:
    ./configure && make clean && make -j6

as out/Makefile has not yet be made when entering sub dirs
uv: upgrade to abc945b
test: make test-fs-truncate pass on windows
2012.08.28, Version 0.9.1 (Unstable)

* buffer: Add Buffer.isEncoding(enc) to test for valid encoding values (isaacs)

* Raise UV_ECANCELED on premature close. (Ben Noordhuis)

* Remove c-ares from libuv, move to a top-level node dependency (Bert Belder)

* ref/unref for all HandleWraps, timers, servers, and sockets (Timothy J Fontaine)

* addon: remove node-waf, superseded by node-gyp (Ben Noordhuis)

* child_process: emit error on exec failure (Ben Noordhuis)

* cluster: do not use internal server API (Andreas Madsen)

* constants: add O_DIRECT (Ian Babrou)

* crypto: add sync interface to crypto.pbkdf2() (Ben Noordhuis)

* darwin: emulate fdatasync() (Fedor Indutny)

* dgram: make .bind() always asynchronous (Ben Noordhuis)

* events: Make emitter.listeners() side-effect free (isaacs, Joe Andaverde)

* fs: Throw early on invalid encoding args (isaacs)

* fs: fix naming of truncate/ftruncate functions (isaacs)

* http: bubble up parser errors to ClientRequest (Brian White)

* linux: improve cpuinfo parser on ARM and MIPS (Ben Noordhuis)

* net: add support for IPv6 addresses ending in :: (Josh Erickson)

* net: support Server.listen(Pipe) (Andreas Madsen)

* node: don't scan add-on for "init" symbol (Ben Noordhuis)

* remove process.uvCounters() (Ben Noordhuis)

* repl: console writes to repl rather than process stdio (Nathan Rajlich)

* timers: implement setImmediate (Timothy J Fontaine)

* tls: fix segfault in pummel/test-tls-ci-reneg-attack (Ben Noordhuis)

* tools: Move gyp addon tools to node-gyp (Nathan Rajlich)

* unix: preliminary signal handler support (Ben Noordhuis)

* unix: remove dependency on ev_child (Ben Noordhuis)

* unix: work around darwin bug, don't poll() on pipe (Fedor Indutny)

* util: Formally deprecate util.pump() (Ben Noordhuis)

* windows: make active and closing handle state independent (Bert Belder)

* windows: report spawn errors to the exit callback (Bert Belder)

* windows: signal handling support with uv_signal_t (Bert Belder)
Merge branch 'v0.9.1-release'
Now working on 0.9.2
blog: Post for 0.9.1 release
doc: update assert.doesNotThrow() docs

It takes an optional "expected exception" argument that is not used meaningfully
but is nevertheless documented. Undocument it, it confuses casual readers of the
documentation.

Fixes #3935.
Test client renegotiation attacks on HTTPS

This test should output roughly the same results as the tls ci-reneg attack
pummel test.  However, it does not.