Merge remote-tracking branch 'upstream/master'
[async-queue] Test the firing of the 'complete' event on stop() (failing), about #1341
[async-queue] fix the firing of the 'complete' event on stop(), fix #1341
DataTable: Convert value from `input` element into a number.
{promise} Add static methods and their tests
[promise] Move and comment factory methods
[promise] Add resolve() method to Promise.Resolver
[promise] Change mentions of `fulfill` to `resolve`
[promise] Rewrite `batch` and `when`...

...in terms of `all` and `cast`
[promise] Add tests for `catch`, `all` and `race`
Merge remote-tracking branch 'upstream/dev-3.x' into promise-all
[promise] Update promises docs

- Replace mentions to Y.batch with Promise.all
` Include section about Promise.race
[promise] Add API docs for Promise.cast
[promise] Docs cleanup

Fixing typos and removing extra mentions to Y.batch
[promise] Return early in case of an error...

...in Promise.all and Promise.race
[promise] Fix typo in Promise.all docs
XML: Refactor of feature detecting logic.
[promise] Add API docs for promise.catch()
[promise] Make JSHint happy
[promise] Add tests for Promise.cast