[#1656] Promise.waitAll() et al. don't redeem with exceptions (for example timeouts)
 added test to prove fix works