Update Promise

- Promises/A+ compliance
- basic tests
I see, so iterables are not handled the same as they are in arrays? Are only array and array-like objects (not strings, numbers, etc) iterated?