Don’t use browser native Promise

Because “esnext”: true in jshintrc, jshint wasn’t
reporting undefined `Promise` references.

Opened this in the meantime:
https://github.com/jshint/jshint/issues/1793
Merge pull request #25 from machty/esnext-promise

Don’t use browser native Promise