Added PurgeTimeout feature.

After we do a compaction, the old (large, uncompacted) files need to
be purged.  But, they might still be in-use by concurrent readers.
After a compaction, we change their sleepInterval to be the
purgeTimeout (which should be shorter than the regular sleepInterval),
then once readers are done and it sleeps, we wait a little more (the
purgeTimeout) before removing the file.