Fix subtle bug in mutual exclusion between parallel nested TXs and single stmts.

Triggered in scenarios like:

   TX {
     TX1 { } // TX2 { } // STMT
   }

Once TX1 commits, STMT could erroneously proceed even if TX2 has already
begun. This would lead to the data (and notifications) written by STMT being
lost if TX2 commits.
Protect against bugs in notification stream disposal.