Record PersistentEventLogLoader event ID to file (see #11948)

This adds the option (configured with the `omero.search.use_file_log`
setting) to use a file on disk to record the last event ID processed
from the event log. This gets around the transaction limitation of
storing the current event ID in the database, so that if the Indexer
crashes during processing, the progress made in the current batch up to
the point of the crash is not lost.