Fix deadlock when finalising log records generates more logging
Make sure records are finalised outside the record lock, and minimise the amount of work that happens inside the record lock in general, so that no extra logging occurs whilst in inside it, leading to a deadlock.
Fixes #579 (closed)