Link all the sims together in a list. To manage lifetimes, transition to
using smr for allocations and freeing. Transition to using refcounts for
lifetimes. Stop sleeping for the refcount to drop to 0, and instead
finish freeing the sim once the reference count drops to 0. It should be
safe to do so from all contexts we hold/release the sim.
Sponsored by: Netflix