DESC
Fix an ugly deadlock when using lingering transactions.
EDESC
This patch fixes a very ugly deadlock when using lingering transactions. The
problem is that we used fs->lock to protect both the linger list and the file
pointer, which lead to very easy deadlocking inside, for instance, jwrite().

Besides, some of the logic inside jsync() itself caused serious issues when
called for a second time.

