node: allow nextTick infinite recursion

Removing the depth counter while processing the nextTickQueue made it
possible to run out of memory if in an infinite recursive loop using
nextTick(). There was also an edge case where too many callbacks were
pushed onto the nextTickQueue, while not actually being recursive.

This is being done to prevent possible cryptic FATAL ERROR messages from
popping up, and issues being posted about them.
node: fix removing `AsyncListener` in callback

`context._asyncQueue` shouldn't be exposed as `asyncQueue`, as it
allows modification of queues already attached to an event, which
is not supposed to happend. Instead `context._asyncQueue` should be
copied.