node: further move towards new domain api

Small steps are being taken to manage the async listener change. This
will definitely introduce performance degradation, but will be fixed in
the next few commits. Changes include:

Removed _tickDomainCallback. Those two functions were to be merged
eventually, but doing it now removes a lot of complexity.

Move setting up process.domain into src/node.js. So now technically Node
is always using domains. This will be necessary once we instead actively
check for async listeners. It will be a cheap check, so always having
that domain functionality ready doesn't come at noticeable cost.
node: switch domain share from Array to Object

Also changed name from domain_array to domain_box.
node: remove domain specific implementation

Now that the domain object has been moved into src/node.js we're always
in a "using_domains" state. So no need for all the extra code.
node: remove inTick from JS

There is no need to set if we're in a tick from JS. Regardless of where
the queue stops processing we'll have to return back to C++. So instead
we'll set whether we're currently in a tick from there.