Change nextTick to setImmediate
Change nextTick to setImmediate

This commit gives "breathing room" allowing code to execute while multiple schedule callbacks are called.

----TEST CODE BLOCK START
var schedule = require('node-schedule');
var util = require('util');
util.log("Scheduling 5000 crons");
for (var i = 0; i < 5000; i++) {
    schedule.scheduleJob('00 45 13 * * *', function(){
    });
}
util.log("Ok");

var p = new Date().getTime();
setInterval(function () {
    p = p + 1000;
    var difference = new Date().getTime() - p;
    util.log("Difference between expected & actual: " + difference)
}, 1000);
----TEST CODE BLOCK END

RESULTS BEFORE:
5000 crons fire @1:30:00 (process.nextTick)
23 Feb 13:28:57 - Difference between expected & actual: 270
23 Feb 13:28:58 - Difference between expected & actual: 274
23 Feb 13:28:59 - Difference between expected & actual: 278
23 Feb 13:31:27 - Difference between expected & actual: 147589
23 Feb 13:31:28 - Difference between expected & actual: 147593
23 Feb 13:31:29 - Difference between expected & actual: 147595
23 Feb 13:31:30 - Difference between expected & actual: 147599

(note huge block as schedules fire)

RESULTS AFTER:
5000 crons fire @13:45:00 (setImmediate)
23 Feb 13:44:55 - Difference between expected & actual: 34
23 Feb 13:44:56 - Difference between expected & actual: 37
23 Feb 13:44:57 - Difference between expected & actual: 41
23 Feb 13:44:58 - Difference between expected & actual: 42
23 Feb 13:44:59 - Difference between expected & actual: 46
23 Feb 13:45:00 - Difference between expected & actual: 63
23 Feb 13:45:01 - Difference between expected & actual: 89
23 Feb 13:45:02 - Difference between expected & actual: 105
23 Feb 13:45:03 - Difference between expected & actual: 115
23 Feb 13:45:04 - Difference between expected & actual: 131

(Note no more block!)

santigimeno/node-schedule,node-schedule/node-schedule,tejasmanohar/node-schedule