A polyfill for ES6-style Promises