Zip: improve reader and handle performance

This reduces the number of iterations over ZipEntries, and attempts to
calculate decompressed size based upon the sum of ZipEntry sizes
(instead of reading every byte from the file).

Fixes http://trac.openmicroscopy.org.uk/ome/ticket/11192