Previously, in RandomFailuresBackedSpeculation test, would get out of
bounds exception because would speculate on an event that got backed
out and then perform a double remove.  (Even though the event would
get backed out anyways because what it was derived from would have
signaled it to back out.)  This is unrealistic because would always
perform bounds checking between transactions.  Added check in ralph.