Flatten more cases in all(), significant perf increase for thenables and non-primitives
Create only 1 new promise, instead of 2, in delay/timeout by using protected API