ES6 Promise polyfill

IE9+