node: setImmediate returns Immediate (#29599)
node: setImmediate returns Immediate (#29599)

* node: setImmediate returns Immediate

* node: defined Timer and Immediate internal classes

* node: better compatiblity with Timer interface

* node: return Timeout rather than Timer

mcliment/DefinitelyTyped,georgemarshall/DefinitelyTyped,borisyankov/DefinitelyTyped,markogresak/DefinitelyTyped,dsebastien/DefinitelyTyped,borisyankov/DefinitelyTyped,georgemarshall/DefinitelyTyped,magny/DefinitelyTyped,magny/DefinitelyTyped,georgemarshall/DefinitelyTyped,dsebastien/DefinitelyTyped,georgemarshall/DefinitelyTyped