Custom event emitter uses setImmediate over process.nextTick if supported

Closes https://github.com/sequelize/sequelize/issues/869