add :running state and check state transitions in Actions

save after switching to running state
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 suspended state.

* +run_progress_weight+/+finalize_progress_weight+ - to make the
  action more significant in the progress of the plan (1 by default)