gaurd against global redefinition of setTimeout

I ran into a production issue where timers were being redefined for test purposes. The timer redefinition did not emulate node timers, and so `unref` was therefore undefined. While I admit that redefining globals is a bad idea and shouldn't have been done in the first place, in general I think it's good practice to depend on the timers module.  Not only does this guard against the global redefinition but it also allows easier inspection, i.e. we can see which timers are being used upfront.