journal: optimize bisection logic a bit by caching the last position

This way we can do a quick restart limiting a bit how wildly we need to
jump around during the bisection process.
journal: fix iteration when we go backwards from the beginning of an array chain element
journal: allow journal_file_copy_entry() to work on non-local files
journal: add a test case for flushing messages out of a series of journal files into a single new one
journal: simplify pre-allocation logic

let's just do a single fallocate() as far as possible, and don't
distuingish between allocated space and file size.

This way we can save a syscall for each append, which makes quite some
benefits.
journald: mention how long we needed to flush to /var in the logs
logind: log which process is delaying suspend and not closing locks