os: fix unlikely buffer overflow in os.type()

* Fix a buffer overflow that happens iff strlen(info.sysname) > 255.
* Check the return value of uname().
os: handle 256 character hostnames

Fix a (rather academic) buffer overflow. MAXHOSTNAMELEN is 256 on most
platforms, which means the buffer wasn't big enough to hold the
trailing nul byte on a system with a maximum length hostname.
os: unbreak windows build

Windows doesn't have MAXHOSTNAMELEN. Introduced in afbadde.
test: preserve process.env in forked child_process

When LD_LIBRARY_PATH is overriden for custom builds we need to preserve
it for forked process. There are possibly other environment variables
that could cause test failures so we preserve whole environment of
parent process.
test: preserve process.env after test-init exec

When LD_LIBRARY_PATH is overriden for custom builds we need to preserve
it for child processes. To be sure we preserve whole environment of
parent process and just add TEST_INIT variable to it.
handle_wrap: fix NULL pointer dereference

Fix a NULL pointer dereference in src/handle_wrap.cc which is really a
use-after-close bug.

The test checks that unref() after close() works on process.stdout but
this bug affects everything that derives from HandleWrap. I discovered
it because child processes would sometimes quit for no reason (that is,
no reason until I turned on core dumps.)
doc: note a gotcha with http.Server sockets
docs: update path.join() example for v0.10

The current example shows the behavior of v0.8. In v0.10 arguments
to path.join() must be strings; otherwise, an exception is thrown.
deps: upgrade v8 to 3.18.0
v8: reapply floating patches
buffer: upgrade to new V8 profiler API
test: make stdout-close-unref work in test runner

process.stdout isn't fully initialized yet by the time the test starts
when invoked with `python tools/test.py`. Use process.stdin instead and
force initialization with process.stdin.resume().
dgram: fix no address bind()

I broke dgram.Socket#bind(port, cb) almost a year ago in 332fea5a but
it wasn't until today that someone complained and none of the tests
caught it because they all either specify the address or omit the
callback.

Anyway, now it works again and does what you expect: it binds the
socket to the "any" address ("0.0.0.0" for IPv4 and "::" for IPv6.)
build: libv8_base.a is now libv8_base.<arch>.a

This fixes generating the v8 contstants for dtrace on smartos
crypto: fix return Local Handle w/o scope.Close()

A new String was being created and returned, but was not sent through
the scope.Close(), which caused it to be cleaned up before being
returned.
Merge remote-tracking branch 'origin/v0.10'

Conflicts:
	src/node_os.cc
path: add path.isAbsolute(path)

An absolute path will always open the same location regardless of your
current working directory. For posix, this just means path.charAt(0) ===
'/', but on Windows it's a little more complicated.

Fixes joyent/node#5299.