Execution plan persistence unification
whitespace - parenthesis
Change World#execute to accept executor_plan_id
ExecutionPlan#result
Basic execution plan web console view
Temporarily remove plans filtering and pagination

Persistence needs to support that first
Use Persistence as a layer between code and a persistence_adapter

It handles the transition between high level objects and their
hash representation in persistence.
Update examples
Add find_execution_plans to persistence drivers
Simple test for web console

Just check that the results are ok (no output validation)
Methods renaming

in Persistence:

    s/load_step_action/load_action/g
    s/save_step_action/save_action/g

in ExecutionPlan:

    s/persist/save/g
Remove step from Flows::Atom, store only step_id
Extract executor specific tests from execution_plan test
Pass the execution_plan in PlanStep#execute

We really need execution_plan only for PlanStep#execute, therefore no
need to pass it in the constructor. It leads to much more unified
behaviour of all the step classes, deserialization etc.

Also we got did of the ugly allocate when deserializing due to cyclic dependency.
Unify steps storage

There was no point in storing the hash of steps separately for plan
and run steps (and possibly for finalize steps), since there is
no different usage for them: finding a step by id.
Defensive programming
Support for finalize steps in planning and execution.

While working on this I've removed run_step_id and finalize_step_id
because they were not set before the steps execution, were not used
anywhere and caused useless difference between run and finalize phase,
that complicated the unification.
Add the references to plan, run and finalize steps to action
Use symbols in example

We are able to handle this now.
Show finalize flow in web console