build: don't use "-Wnewline-eof" on OS X

This is the only thing preventing a manually compiled version of GCC
(rather than Apple's provided llvm-gcc or heavily modified gcc 4.2)
from working properly, so we might as well enable support for that.

With this patch I was able to compile node using a manually compiled
gcc 4.7.1.

Closes #3887.
deps: upgrade libuv to 012cbda
fs: fix use after free in stat watcher

The uv_fs_poll_t handle was stopped but not closed, leaving libuv's internal
handle queue in a corrupted state.
unix: don't explicitly instantiate v8::Persistent<x> templates

These explicit instantiations were added to make MSVC happy. It turns
out that some older versions of gcc and llvm now complain about duplicate
symbols, so we instantiate these templates only when MSVC is used.
uv: upgrade to 8073a26
unix: don't explicitly instantiate v8::Persistent<x> templates

These explicit instantiations were added to make MSVC happy. It turns
out that some older versions of gcc and llvm now complain about duplicate
symbols, so we instantiate these templates only when MSVC is used.
process: use uv_signal instead of ev_signal
Delete the old node_signal_watcher code
Remove node_io_watcher
v8: upgrade to v3.11.10.19
v8: reapply floating patches
signal_wrap: fix unused variable compiler warning
doc: cluster: setupMaster() can be called only once
child_process: emit error on exec failure

libuv calls the exit cb with exit code == -1 when it fails to spawn the new
process. Anticipate that and emit the error on the ChildProcess object.
tls: update default cipher list

Update the default cipher list from RC4-SHA:AES128-SHA:AES256-SHA
to ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
in order to mitigate BEAST attacks.

The documentation suggested AES256-SHA but unfortunately that's a CBC cipher
and therefore susceptible to attacks.

Fixes #3900.
npm: Upgrade to 1.1.55
uv: upgrade to 564e7c7
npm: Upgrade to 1.1.56
npm: Upgrade to 1.1.57
doc: fix typo in cluster example code