Fixes a race allowing transactions to be rotate away before applied

The problem was that there was a window after appending the transaction to
the log and before marking that transaction as committed where a log
rotation could come in and rotate the log. The rotator would not wait for
the transaction(s) that had just been appended, and potentially also
forced since it hadn't even been marked as committed yet.
So a crash right after or at least before the changes of such
transactions would have been applied and fully forced to the store would
be lost since the transaction describing those changes would not be
recovered.
Merge pull request #3699 from tinwelint/2.2-commit-vs-rotate-race-fix

Fixes a race allowing transactions to be rotate away before applied