Currently there is no fallback in case when Zaqar message does not
arrive to inform about the status of ongoing Mistral workflow.
This change introduces mechanism to make execution of workflows more
robust in TripleO UI:
Workflows should be triggered using startWorkflow action - startWorkflow
starts polling for workflow execution after a timeout expires and polls
until workflow execution is finished. Then it executes a callback (usually
action dispatch)
In case a relevant Zaqar message arrives, handleMessage action is triggered
which cancels the timeout, fetches the execution and passes it to callback.
Benefits:
* Application always gets to the result of a workflow execution, regardless
whether the Zaqar message arrives or not
* Application does not depend on Zaqar message containing relevant data.
Message is only required to deliver the execution ID, which is then used
to fetch execution separately
* All executions are tracked in application state
Partial-Bug: #1753474
Change-Id: I2ae26986e5c2e8870238a287fbd3df46a92ed65f