buffer: add NativeBuffer API

Due to a lot of the util.is* checks there was much unnecessary overhead
for the most common use case of Buffer. Which is creating a new Buffer
instance for data from incoming I/O. NativeBuffer is a simple way to
bypass all the unneeded checks and simply hand back a Buffer instance
while setting the length.
buffer: fix assert fail from JS API

Length arguments passed to SlowBuffer were coerced to Int32, not Uint32,
so passing a negative number would throw the following:

node: ../src/smalloc.cc:244: void node::smalloc::Alloc(): Assertion `length <= kMaxLength' failed.
Aborted (core dumped)

That has been fixed by coercing to Uint32 and comparing the value
against kMaxLength.
src: fix up unused/unordered imports
cares_wrap: drop UV_HANDLE_FIELDS from ares_task_t

UV_HANDLE_FIELDS is a libuv implementation detail.  The ares_task_t
struct only uses the uv_loop_t* field so be explicit about that.
src: remove --max-stack-size option

Ad-hoc duplicate of V8's --stack-size option.  Superfluous in other
words.  Remove it.
src: call uv_loop_delete() on exit in debug mode

Should make tracing with valgrind a little easier on the eye and
possibly help expose libuv handle lifecycle issues.
src: remove two pointless globals from node.cc

De-globalize use_npn and use_sni, they're only used in GetFeatures().
lib: Add missing copyright notices
doc: Small update of readme for Windows users
fs: Expose birthtime on stat objects

Just do the best we can with whatever libuv gives us.

Also, document the semantics of `ctime` and the compatibility with
Windows.
domains: deprecate domain.dispose().

Follows @isaacs's recommendations in joyent/node#5018. Includes some
updates to documentation but not examples.

Conflicts:
	lib/domain.js