Fix CommitBarrier deadlock cycle from mailing list report

Summary: CCSTM deadlock prevention relies on priorities, but since
CommitBarrier delays transaction commit for the entire group and they
have different priorities, a cycle can form.  The cycle requires two
commit barriers, at least one of which has two transactions, and Ref
conflicts between the transactions in different commit barriers.

The deadlock was isolated very cleanly by Matthias Rahne, and his
distilled version is included here as a unit test.