Implementation of compound files. This reduces the number of files used by Lucene to 1 per index segment (2 when deleted documents exist). Test cases modified and added to go with this code.