Zip64 refactoring

Support Zip64 extensions in both reader and writer.

Fix several issues related to handling large archives (including one case where the archive is technically malformed because the creator did not use Zip64 extensions).

Improve detection of non-Zip data prepended to a valid archive (which causes file offsets within the archive to be offset by the size of the data).  This includes self-extracting archives created by Info-Zip's unix tools.