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)


Also removed the watching for length of running some tasks, as the execution
time does not affect dynflow itself much (in terms of causing deadlocks or whatever).
On the other hand, there are usecases where dynflow can be used for tasks that take
long time (and dynflow is used there as async processor)