Light weight promise polyfill for the browser and node. A+ Compliant