Minor fix.

If someone should make a Conditional call whose initial test running causes
a commute to degenerate, then the degeneration would run inside a
WithTransactionContext call, i.e. with _blockCommutes already set to true.
So, CheckCommutes now takes care to restore _blockCommutes to original value.