introduce waitAll
implement waitAll (#5) * attempt to implement waitAll * WaitAll with options * cover context cancel case in WaitAll * update test comments * waitAll * prevent unittest from stuck * limit all test to finish in 3 seconds * tweaks * tweaks * tweak * - distinguash softClose and hardClose - waitOne as a function