Draft: Cache `data-offset` and `readlink` in zip object
Based on !364 (merged) and !371 (merged)
This in fact reverts most of changes of !364 (merged).
It appears that the memory price that we pay for storing zip.File
is already paid. Now, storing additional
metadata structure does not really make us more memory efficient. It appears that it is simply better to
store it as part of zip.File
entity.
This way:
- we don't need additional caches
- we store it for as long as we retain archive in memory
- seems to be cheaper in the end
Resolves: #480