Add a way to wait for all parallel promises to complete

The problem doesn't appear until you start mixing threads (EM) and Fibers.