Action engine: save task results

Task results are saved on success and passed to revert method
on revert. If task failed (execute method raised an exception),
special object of type taskflow.utils.misc.Failure is created
and saved as task result to indicate that.

To store results Storage class is introduced. As for now it is
simple tiny wrapper of a dictionary, but future plans include
rewriting it using persistence API and adding more sophisticated
functionality.

Change-Id: Ic806421a3780653602d8879c33fdf655950a6804