Add back to do not call exit() if error semantics.

The previous commit removed the uncaught exception interception.
However that code was needed to get the process to write the
uncaught stack trace on failures.

Since messing with uncaught exception messes with the way we
exit the only way to know if exit is called from uncaught exception
is to monkey patch node core and keep track of the state