Add DispatchingAssistant, an utility to use or override to implement recoveryPredicate and recover methods. As the name suggests, recoveryPredicate is a condition to trigger recover by the event producer. By default it will recover if the task capacity is full. Recover is the action to implement for defining what to do when a recovery condition is met, recover impl can use helper method from the parent DispatchingAssistant to retry, delay, check the dispatcher and related utilities.

Dispatcher now has assistDispatch method  accepting an additional DispatchingAssistant argument and will behave accordingly to trigger dispatching strategy and call back recover if a task can't be created (default) or for any matched recoveryPredicate.

Reactor now has assistNotify method accepting an additional DispatchingAssistant argument  and will call dispatcher.assistDispatch instead of dispatch.

ComposableSpec now supports DispatcherAssistant argument to setup an Observable proxy that reroute notify calls to assistNotify (TBI)

AbstractTcpConnection and NettyConnection now creates deferred promises set with DispatchingAssistant.NEXT_ITERATION in order to prevent dead locking issues when the IO Reactor consumers notify back the Promise Reactor.