Replace caller function with setTimeout since setTimeout allows last arg...

...ument to be omitted.

Technically, if we call `nextTick` with 2 arguments (where the last one is not `0`), this would not be identical, but this *might* improve performance.

Due to the potential regression, we might not want to merge this. Your choice :).
I'm not exactly sure what to call it - but I'm trying to decrease the number of paths that code can be called from. Currently, all the nextTick code can either be called with a wrapper (Async) or without (Async.nextTick).