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.
It looks like you forgot to trim trailing whitespace. I will take care of it in a subsequent commit