Introduce TaskExecutor

This change introduces new entity in the ActionEngine internals,
TaskExecutor. It's responsibilities are simple: take task and it's
arguments and execute it or revert it when engine says so.

Implements blueprint task-executor
Change-Id: I81c63bf4f43342a630f5aa9872fb14776e481176
Add wait_for_any method to eventlet utils

This change introduces new utility funtion in eventlet utils, named
wait_for_any. It waits on one or more futures until at least some of
them completes. This is simplified version of concurrent.futures.wait
adapted to work with our green futures.

Change-Id: I2ab50c4e108ea1e9c81f618bd8fa8a8156bb695b