A test framework for verifying concurrency anomalies

Once we detect a txn retry, we can add all the actions from retry txn as subsequent actions of the existing txn. And those actions can have the mixed order of all unfinished actions of other txn. (e.g. a recursive enumeration) In this way, we won't need to wait for impossible histories. Maybe there is a better way.