A polyfill for browser-native Promises, conforming to http://promises-aplus.github.io/promises-spec/