use setImmediate when available

future-proofs for node 0.9+ (tested in 0.8.9 and 0.9.9)
spaces not tabs
same change, less verbose
Merge pull request #754 from jldailey/master

use setImmediate when available instead of process.nextTick