Coroutine chaining improved

 - chain coroutine handler now correctly handle exceptions raised directly from coroutine
 - `AppRestartAction` was rewritten with new chain-coroutine feature

Now `AppRestartAction` action returns chain object with coroutine in the first chain item. In CLI module it is appended by print function. Using single coroutine instead of chaining functions leads to more cleaner code