Use `setImmediate`.

In pure-JavaScript implementations that aggressively cache records
certain test will blow the stack if `process.nextTick` is used. The
warning issued suggests the use of `setImmediate`.
Use `setTimeout` instead of `setImmediate`.
Merge pull request #40 from bigeasy/set-immediate

Use `setImmediate`.