SQL fix proposed by PaulVanSchayck

Order the event logs in the inner query to prevent
event logs from being skipped.

See: https://www.openmicroscopy.org/community/viewtopic.php?f=4&t=7593&p=14636#p14638
Replace PD PersistentEventLogLoader with EventLogQueue

The change in behavior is now such that all EventLogs are
read in order of creation regardless of which user created
them. The backlog produced is hopefully offset by the fact
that duplicate event logs are now ignored.
Fix Data.next() exception to match Iterator contract
Concurrent loading of PIXELDATA EventLogs (Fix #12526)

The EventLogQueue was not intended to have simultaneous
threads loading logs. Instead, we now load a group of logs
in bulk and then schedule these for background processing.

The current pixel id is immediately incremented to after
the set of logs even before processing begins. Since there
was previously no transactional guarantee that a pyramid
must be created before moving on, there is no regression.
Instead, further clicks (i.e. thumbnail requests, etc.)
will have to generate a new PIXELDATA log as before if
a pyramid-creation has failed.
Make PixelData EventLogLoader configurable
Change LockTimeouts to WARN
Clarify numThreads in PixelDataThread
More javadoc and minor cleanups
Merge pull request #3015 from joshmoore/pixel-data-logs

Improve pixel data log handling