Ability to extend action phase classes
Remove watching of execution plan

Unless delegating the computation to some other service, there is
quite often need for running some tasks for some time, if fact, that's
one of the reasons why we use background processing. There should be a
way how to terminate some task if running too long, but 1 second is
not the case anyway.
ExecutionPlan#progress

Ability to calculate execution progress for the plan. Every action can
specify:

* +run_progress_done+/+finalize_progress_done+ - should return 0..100
  it's called only when the action is in running/suspended state.

* +run_progress_weight+/+finalize_progress_weight+ - to make the
  action more significant in the progress of the plan (1 by default)
Show progress in web console details
Return progress as float between 0 and 1

Also to determine the action progress, the methods to override are
`run_progress` and `finalize_progress` as opposed to
`run_progress_done` and `finalize_progress_done`
add :running state and check state transitions in Actions

save after switching to running state
delegate state and error from action to step
add fine grained state transition checks based on phase