Add new temporary file tracker class.

The purpose is to track the generated file names and "garbage collect"
them at once.
When using disk caching, do not read all the files into memory.

The potential gain in memory usage offered by disk caching was
annihilated by the fact that the generated content was read into memory
before being added to the archive.