Fix Data.next() exception to match Iterator contract
Improve concurrent loading of PIXELDATA EventLogs

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.