Updated backed speculation test.  It currently fails because it seems to be trying to perform two removes in a row.  Still must determine why.
Pairing down what causes error: removed flow table deltas list.
Managed to get a reproducible exception if during undo, add a timeout.
Had a bug: a derived object could receive an event promotion message
and operate on its read_lock_holders, write_lock_holders, and
waiting_events.  If the derived object had already been transferred to
root, then the root should be in charge of processing these messages,
not the derived.