process.nextTick uses setImmediate if available
add tests for process.nextTick