Use correct type name
Added callback machinery debug
Added stall/timed out transctions check.

When IO thread is about to start processing received transaction (no matter whether it is reply or request),
it removes transaction from 'timeout' list, so it can not be found by stall checking thread.
If transaction is the last one in the set, it is just destroyed, otherwise it is being put
back into the 'timeout' queue with updated timestamp.

When stall checking thread has been found timed out transaction, it removes it
both from 'timeout' list and from transaction tree. Thus transaction can not be
simultaneously processed/touched by any 2 threads.
v2.24.14.10