Update iterables

- consistently calculate whole iterable lengths
- replace most references to arraylike with iterable
- correct arraylike bug in Promise
- add Number.EPSILON
- add Number.MAX_SAFE_INTEGER
- add Number.MIN_SAFE_INTEGER
Should this be `Number && Number.MAX_SAFE_INTEGER`?