multi-context wip
node: move tick callback lazy load code block

It's possible to require('domain') within a MakeCallback, which means
the env->tick_function_callback() will change. So moving the lazy load
block to just before the call of the function will allow
SetupDomainCallback to override the method before it's used.
node: move in_tick to C++

It's only going to save half a nanosecond, if that, but feels better
having all this logic in the same location.