Relaxed size checks to not error for empty ZIP files in other test
cases, and only validate that the number of entries is 0 for our test
case, moving it to the edge cases suite instead.
Simplies logic to just use nearest parent as the base instead of
traversing downwards. This reduces some redundancy, however fixes a bug
with repeated components in the constructed path and also improves
performance by skipping a loop altogether.
Also fixes recursive extraction tests failing `pandoc_soft_links.zip`.