Index each cache node separately
Background:
- Fort shouldn't lose the cache index when a signal interrupts it.
- Writing the index during the signal handler is not possible,
because of the async-signal-safe requirement.
- Writing the index outside of the signal handler is seemingly not
viable, because of the infelicities between the signal and
multithreading APIs in C.
I haven't completely discarded the "dropping multithreading" option,
but since it seems disproportionate, I've been rethinking the index.
This commit scatters the index across several files, to minimize lost
information during a stopping signal. This will exacerbate the inode
problem, but that's temporary.
Reverts
e0880f8eac3d35e576a2c1a2cb588424ab4b3e1b.