dmsg - Stabilization work
* Refactor the circuit failure handling code. When a connection is lost
circuits running through that connection and all sub-circuits/states
(recursively) are aborted. This will propagate through the graph and
there are plenty of edge cases where a failure may be propagating in
one direction and a request in the other direction.
The library is responsible for providing missing transaction closures
when circuits and states fail.
* Add code to handle circuit failure races against newly created messages.
The STATE_DYING flag is now inherited by the newly created message from
its parent.
* The state structure on receive is now updated before the callback is
made so it can be atomic with the lock, instead of after.
* Lots of debugging added and some cleanup.