Promise.all(iterable)

`Promise.all` (and possibly other static methods) should allow you to pass an iterable, apparently: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

``` js
const iterable = {
  *[Symbol.iterator]() {
    yield 1;
    yield 2;
    yield 3;
  }
};

Promise.all(iterable)
    .then(x => {
        console.log(x);
    });
```

Is this something that could be added to the polyfill? I might have a go, if so.
That's why the tests are failing. Obviously an iterable has no length, so trying to figure out how to replace this.