Significantly improve performance by:

* reading only the table of contents from zip files to get their class list (vs. the entire file)
* caching sha256 hashes for a file/resource pair so we don't need to re-extract the same bits.