ZipHandle: make length computation more efficient

The previous approach was to skip one byte at a time over the entire zip
entry, which was excruciatingly slow. The new approach simply asks the
ZipEntry for its uncompressed size directly.
ZipHandle: add @Override tag
ZipHandle: use first entry when no matching name

If the desired entry name is null, let's explicitly use the first entry
in the ZIP file by default. (Probably the previous version did this
already, but it did not explicitly call zip.getNextEntry() even once, so
it the behavior was less clear.)