InMemoryProgressManager uses sets now so that a file can't be locked
more than once.
WorkloadManager can iterate over work units, generating them on 
demand and shifting locks as needed.
WorkUnitBuilders merged, but now require a WriterFactory.   WorkUnits
now require a results writer.