Fixed performance issue introduced in v0.0.11

Reverted to installing DebugEventListener only after a SIGHUP is
received.  This requires us to enter the default node isolate,
since `SetDebugEventListener[2]` functions can be called only from
inside a valid v8 isolate.  Unfortunately, this likely means
that an infinite loop will no longer be able to be broken into
reliably.

In addition, to restore performance, we reset the listeners to
NULL after (optionally) printing the stacktrace.
originally this code ie calling the DebugEventListener and calling DebugBreak was inside the SignalHangupActionHandler, which looks more appropriate place then this one and avoid depending on global variable hup_fired, unless there is some other reason.