Always use JSON gem for pretty_generate in web_console

Not every MultiJSON implementation supports pretty printing.
Fix showing flow step error
Fix desc ordering

The Sequel constant was resolved to the wrong object. Using ::Sequel instead.
Show and order by started_at time.
Fix re-running finalize phase

We need to reset the states on the finalize phase before running it
because we run the finalize only when there were no steps in error state.

Also because the finalize runs in transaction, we rerun also finished
finalize steps.
Support multi-subsribe

One action can subscribe to more actions.
Use pretty_inpsect instead of JSON.pretty
Dummy action for missing actions

For use code, it happens that the action class is renamed, causing
issues when calling constantize on action that doesn't exist anymore.

This is expected only for action that were already finished. Therefore
we can replace it with a dummy one used only for read only purposes.
wait for re-connection
add missing action_id in DB table steps
log warnings for long running actions
add missing abstract method in Executors::Abstract#terminate!
fix future

#ready? returned `false` for #set called with `nil` or `false`
Wait for connection when instantiating new RemoteViaSocket
make step_warning_time_limit configurable, store options in world
Fix concurrent issues in RemoteViaSocket executor

use actor to fix it