fs: improve performance of all stat functions

By building the fs.Stats object in JS, which is returned by all fs stat
functions, calls to v8::Object::Set() are removed. This also includes
creating all associated Date objects in JS, rather than using
v8::Date::New(). Both these changes have significant performance gains.

Note that the returned value from fs.stat changes slightly for non-POSIX
systems. Whereas before the stats object would be missing blocks and
blksize keys, it now has these keys with undefined as the value.

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
configure: make --v8-options switch more robust

Improve on commit b55c9d6 by not requiring that switches are comma
separated.  This commit makes `./configure --v8-options="--foo --bar"`
work and takes special care to properly escape quotes in the options
string.
v8: upgrade to 3.24.35.22
test: make test-smalloc endian aware

The test/simple/test-smalloc.js has an implicit assumption
of the byte order of the data stored for Double and Uint32
values. On a big endian platform this test fails without
these patches.

Use os.endianness() to detect the endian of the platform
and use it to gate the static value used for comparison.
deps: upgrade v8 to 3.25.30
deps: fix up v8 postmortem codegen

Fix up overzealous parses, strip whitespace from class and field names.
src: fix up after v8 upgrade

The two biggest changes are that v8::Script::New() has been removed and
that a v8::Script object now has to be explicitly bound to a context if
you want to run it from another context.

We can accommodate both changes without breaking the vm module's public
API or even the internal JS API.
buffer: improve {read,write}{U}Int* methods

Increase the performance and simplify the logic of Buffer#write{U}Int*
and Buffer#read{U}Int* methods by placing the byte manipulation code
directly inline.

Also improve the speed of buffer-write benchmarks by creating a new
call directly to each method by using Function() instead of calling by
buff[fn].

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
node: add signature to SET_PROTOTYPE_METHOD

This prevents segfaults when a native method is reassigned to a
different object (which corrupts args.This()).  When unwrapping,
clients should use args.Holder() instead of args.This().

Closes #6690.

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
lib: use triple equals

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
domain: don't crash on "throw null"

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
util: made util.isArray a direct alias for Array.isArray
deps: update libuv to v0.11.23
src: update uv callbacks after API changes

async, timer, prepare, idle and check handles no longer get a status
parameter since they can never fail.
src: fix use of uv_cwd, len includes the NULL byte