Find zip file end of central directory backwards up to max possible size (dotnet/corefx#41007)
Issue
Huge zip files without an end of central directory take a long time to throw because we seek to the end then search backwards for the EOCD signature all the way to the end.
Fix
Ensure we only search for the signature from the end within the maximum possible number of bytes where it can be found. If the signature is not found, we fail faster.
Note
This may be a breaking change for the edge case where a zip file contains an EOCD comment with the maximum length + additional trailing garbage.
Commit migrated from https://github.com/dotnet/corefx/commit/
9d9c06f82eb4675a2aa56f07fe55a78039147784