Do checkpoints without a long-running transaction

If we're logging and taking an ordinary checkpoint, don't require transactional consistency across files.

This is a first step, and we should talk it through some more, but for ordinary checkpoints (not named, across the whole database, with logging), recovery will hide from users whether the checkpoint uses a transactional snapshot.

We could take this change further by using read-committed isolation within each file, but that requires some more thought and better testing of recovery.