Deferred signals listeners asynchronously

Modifies Deferred to signal listeners asynchronously by using `process.nextTick()` under NodeJS or `setTimeout()` in other user agents.

Also re-lints Deferred to align with .jshint configuration.