Add flags to control whether to set low level hooks and disable exceptions.
Disable asm of OpenSSL.

The asm code os OpenSSL is causing many troubles on Mac with clang,
simply disable it.
Make Module.globalPaths a reference.

We need to hack the search paths of the require function so we can
load libraries from embedded applications without modifications of
node's module code.
Use UV_FILE type for unknown file handle types.

On cygwin both stdout and stderr are treated as unknown file types, this fixes
them.
Hide console window when creating process.
Don't set wrapper class in node, otherwise heap snapshot would crash.
Hack child_process.fork to use execute script with atom-shell.
Reduce usage of exceptions in require function.
Do not override DOM's global functions in renderer.
Add node_lib target which builds a static library.

With this other projects would be possible to include node as a third
party library and embed a node engine in their applications.
Add on_watcher_queue_updated callback for loop.

This callback is called when loop's watcher queue changes, when polling
kqueue in new thread, we need to get notified when there are new events
needed to be watched.
Guard against NULL returned by uv_err_name.

The uv_err_name would return NULL on unknown system error, which then would
crash V8 by creating string from NULL.
Build with debug information on OS X.
Change kIsolateSlot to 3.

In Chromium the slot of 0 and 1 have already been taken by blink, in
order to avoid conflicts the slot is changed to 3, which is by default
the largest slot of V8.
Export modules' DSO constructors.

We need to reference DSO constructors to make sure they can actually be
linked to the final binary, see http://git.io/DRIqCg.
Prototype of V8::TerminateExecution has changed in latest V8.