Sniff for setTimeout before vertx

Check for `setTimeout` before vertx, since vertx is the only env that doesn't have it.  This avoids calling `require` unless we absolutely have to because `setTimeout` is undefined.

Fix #378