Working on engine implementation: on_task_result()

* Implementing DefaultEngine.on_task_result()
* Unit tests
* Fixing ReverseWorkflowHandler
* Renaming 'task_result' to 'raw_result' in method signatures
* Other minor fixes and refactoring (etc. kwargs -> params)
* Backport of Python 2.7 method assertDictContainsSubset()

TODO:
* Take care of ad-hoc actions

Change-Id: Iab853124679be393237bfdaaffdc03e4b8f0d664