Combine multiple exceptions into a linked one

When multiple tasks running at the same time
throw exceptions previously we would not be
able to rethrow all the combined ones which
was suboptimal. Instead of doing that create
a combined linked exception that can retain
all of the exceptions that were thrown and
rethrow that in the situation where more than
one task fails.

Change-Id: I8f882e0d58caa189d6bff2e33b0bc30c4cee553d
Merge "Combine multiple exceptions into a linked one"