This enables these funcs to access memory offsets that may be present in
set items, which is possible since the set itself is in an offset-based
structure.
Prevent bad input from causing repeated OutOfMemory errors by erroring
with NeedsRehash instead when there are unused dead IDs available.
Additionally, properly decrement PSL stats when reviving dead IDs.