Add a way to wait for all parallel promises to complete

The problem doesn't appear until you start mixing threads (EM) and Fibers.
Merge remote-tracking branch 'origin/pr/120'

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Handle services without credentials more gracefully

[#69197868]

Signed-off-by: Phan Le <ple@pivotallabs.com>
Auto-merge remote-tracking branch 'upstream/master'