Update Promise

- Promises/A+ compliance
- basic tests
I will simplify the call to resolve, now that resolve is configured correctly.