Update Promise

- Promises/A+ compliance
- basic tests
That might be a bug worth reporting to each browser.