node: add simple async listener

Now add a listener that will be called whenever a callback is passed to
nextTick. This will hopefully be used as a very slim api that will allow
developers to more easily create their own domains like modules.
domain: use new async listener api

Domains will now use process.addAsyncListener and modify the nextTick
object on the fly. This removes a small amount of performance regression
after removing nextDomainTick, and is another step closer to
implementing the full public api for asynchronous handling.