Add new _IDX SV type, and make sure generic SV functions are robust to it appearing where it shouldn't.

This will carry pointers and FDs, which cannot be simple ShadowInstruction* pointers any more because they can now be deallocated before they drop out of the store altogether.
Partial progress to eliminating the base store concept, and referring to allocations by their frame/index everywhere.

Still to settle: how to talk about the allocation's metadata (size, etc) in that case. Probably should be using the same key everywhere.