make `Promise.all(promises)` faster in the non-deprecated case

this at the cost of the speed of Promise.all(…promises), which is deprecated.
the new version avoids mucking around with `arguments` in the non-deprecated case, avoiding a variety of deoptimisations by runtimes.
it delegates to a separate `variadicAll` function in the deprecated case, which does incur the cost of constructing an `arguments` object and slicing it (twice!), but at least that's outside
the fast path now.