Update Promise

- Promises/A+ compliance
- basic tests
Oh, thanks. I can remove the if statement and the else block entirely then.