DequeGenerator

Scripts may be written to dynamically populate a list of pages to work on.
Ideally this list would be created using a generator, however that can
require a large rewrite in the flow control.

To simplify the porting of scripts, this changeset adds classes
DequeGenerator and DequePreloadingGenerator classes that allow the page
list to be extended during iteration.

Implemented in makecat.

Change-Id: I9e67a4d9d0f1736071434fa84796f22732896088
Merge "DequeGenerator"