revert detection of sync tasks and add setImmediate
added forever
Merge branch 'master' of github.com:caolan/async