Filtering sub-dirs when unzipping runs in exponential time.  

In release 0.15.0, the process for identifying leaves and filtering sub-dirs when unzipping ran in exponential time.  This made unzipping file with content in the thousands take an inordinate amount of time.

This commit adds an extra parameter called "flat", which can be specified in the config.  If true, then the exponential block is not executed.  If false or unspecified, the filtering block will run.  I'm not sure if the filtering block is completely
necessary.
Please use indentation consistent with the rest of the file