MEM-015: PACKCreate/PACKOpen leak PAGE + index mmap on open failure (abc/PACK.c)

Now
DONE

PACKCreate acquires resources mid-function PAGECreate maps a PAGE, then mmap maps the index, then open opens the file; if open fails, test(p->fd>=0, PACKFAIL) returns immediately (PRO.h test/fail do no cleanup) with p->writing still 0, leaving the PAGE and the idxsize index mapping allocated. A caller that treats a failed Create as "nothing to clean up" leaks both. PACKOpen has the same shape (fd + idx mmap). The goal is to release on the failure path or contract callers to PACKClose a failed handle.

Issues

Resources taken below the failing check are never released.

Blockers

None. Currently only safe if callers always PACKClose a failed handle (undocumented).

Planned

Cleanup on failure, mirrored in both entry points.