Performs log pruning outside of append monitors

so that log pruning, which isn't critical functionality in and around
transaction appends and rotations, outside of any monitors held by
append/rotate. This will make the pauses introduced by rotation smaller so
that other transactions can still append when a log pruning is happening.
Merge pull request #3187 from tinwelint/2.2-lock-free-prune

[2.2] Performs log pruning outside of append monitors