massive refactoring.  hangs in 2PL test.  getConflictInfo looks thru whole chain until finding an exact match, and reports both firstConflict and lastActive.  Then walk from firstConflict to lr and lr to end updating sleepCounts and addingWaiters.  Tx::addWaiter now returns true if would deadlock.  New _avoidDeadlock chooses sacrificial lamb.