Fix zip files to find the root more correclty

If the root doesn't happen to be the first entry in the zip file this fails to pick the correct root.  Instead we just find all folders with no subfolders and pick the first one.
Merge remote-tracking branch 'pull/179/head' into devel
Add regression test for #179
Handle .zip files where the first entry isn't a directory with unzip backend