MultiThreaded engine and parallel action

MultiThreaded engine was implemented to execute tasks in parallel:
- added parallel action that executes and reverts tasks in parallel;
- added thread-safe storage.

Change-Id: I4a1f78c95ae5d38660bd32ce21d2b3fb1b2af8ad
Converted some examples to use patterns/engines

Change-Id: If7154019f1cb5e723069ff35f6301fce048323b5
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"