ZipHandle: deprecate getEntryCount method

The method is inconsistent, returning 1 when given an explicit ZipEntry,
but N (where N is the total number of zip entries in the file) when told
to auto-detect the correct ZipEntry.
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
fixup! ZipHandle: make length computation more efficient
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.)