Changing progress_update to event

external actions with corresponding progress updaters on that without
cluttering Dynflow code itself.
Better mechanism for phase extending

Use Action.phase_modules to overide default phase modules
Allow suspended action to be pinged by Clock
Do not try to run events on unsuspended actions

track suspended steps in SuspendedStepsManager
set event futures to fail when it cannot be processed
Console styling

change alerts in planning phase to labels - more compact
fix step_css_class
Add Action::Polling module

to be able to create polling actions easily
fixing tests to use it
terminate clock on world termination
Prevent XSS attack
Do not use action_logger in dynflow
Log backtrace for the errors in actor
Add steps to the suspended_step_manager before they are run

This way, there is no chance some event would come sooner than the
step is propagated to the suspended_steps_manager
Add steps to the suspended_step_manager before they are run

This way, there is no chance some event would come sooner than the
step is propagated to the suspended_steps_manager
More descriptive string representation of step
Rename SuspendedStepsManager to RunningStepsManager

As it manages the steps even before they get into the suspended state.
Push nil instead of step into @events in RunningStepsManager

It makes more sense this way
Fix UnprocessableEvent parent
Add type-checks to WorkQueue, store Work::Step instead of nil
Add support for formatting logger messages
minor fixeses
TODOs update