Event log queue

Intended as `PersistentEventLogLoader Mk II`, `ome.services.eventlogs.EventLogQuery` works around a number of issues spelled out in [11948](https://trac.openmicroscopy.org.uk/ome/ticket/11948) and elsewhere. Rather than loading a single event log at a time, number logs (by default 1 million) are loaded *without duplicates* and further attempts to add a log which is already cached will not lead to an extra indexing of the object.

Currently, this has only be implemented for the `FullTextIndexer` but the same logic could be applied to the `PixelDataHandler`, and in fact, the two might could coexist in the same JVM. This PR will need a number of different types of review and should probably stay open for some time to guarantee that any quirks have been worked out. It builds on top of the add-metrics branch PR (gh-2581) and so should be able to provide reasonably accurate feedback of what it's doing (JMX/SLF4J/Graphite).

If necessary, a server installation can rollback to the previous `persistentEventLogLoader` via `bin/omero config`.