Stop using whenall, keep track of number dealt with manually.

A test fails due to whenall's use of setTimeout(fn, 0), whereby
that 'delay' is enough to cause the whenAll deferral to not happen
until the end of all the tests. As the normal promises are resolving
okay, just keep track of the numbers there to accomplish the same thing.