Update Promise

- optimize return of promise in Promise.resolve
- add iterable support for Promise.all and Promise.race
- change Promise.race to not resolve an empty iterable