Refactoring to ES6 Promises

- Removed Promises/A+ implementation
- Added `es6-promise` dependency for node.js (recommended for browser polyfill)