move mapfs chain pointer to decompressedLength field
Previously, END DATA's offset field served dual purpose: 0 for end-of-chain,
or address for next table. Now offset always contains the TOC size (used for
buffer allocation), and chain links are in decompressedLength field.
This eliminates special-case handling for empty archives - both empty and
non-empty archives use the first entry's offset for TOC size.