Initial commit for the new engine

* Skeleton for the new engine
* Main modules and interfaces (Engine, WorkflowHandler, policies)
* Sketches of main engine methods
* Reverse workflow handler
* Function to check valid state transitions
* Unit tests

Change-Id: Id6ae293154bca7cab69965725ea6960d5f8d8790