warn when rollback and commit are mixed

Nested transactions are faked, so the only reasonable
way to escape them is to use the action - either all commits
or all rollbacks. Anything else may indicate a bug in software.
Let's warn to catch such situations sooner.
Merge branch 'warn-on-mixed-rollback-and-commit'