Conditionalize disk initializations.

This commit conditionalizes the creation of the diskFrontier and
seriesFrontier along with the iterator such that they are provisioned
once something is actually required from disk.
Code Review: Fix seriesPresent scope.

The seriesPresent scope should be constrained to the scope of a
scanJob, since this is keyed to given series.
Introduce semaphores for tiered storage.

This commit wraps the tiered storage access componnets in semaphores,
since we can handle several concurrent memory reads.