Flush the XMLWriter every 100 XML elements.

The PHP XMLWriter class doesn't automatically flush out the generated
XML document into the associated files. As the code doesn't explicitely
call the "flush()" method anywhere, it means the document is only
flushed once, when closing the document.

To make disk caching effective in reducing memory usage, this commit
overrides some methods of XMLWriter in order to trigger an automatic
flush every 100 XML elements, in order to keep the memory used by the
XMLWriter as low as possible.
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.