Had been double-calling insert in touched objects when acquiring read lock for no good reason.
Had a bug.  When a speculative object gets transferred to the root,
the root gets a reference to the speculative object's interanl
read_lock_holders, etc.  This means that all future operations on the
root object's read_lock_holders will reflect on the speculative
child's read lock holders.  In these cases, we want the child to stop
processing messages from ActiveEvents because those should already be
handled by the root instead.