Use list of spawn groups as the "name" of the puzzle being reset
- cache list of SpawnGroup instead of repeating the Vis.Components() each reset (since the monument + spawn groups will always be loaded before entities or the first reset could occur
- don't log puzzles with zero spawn groups, since any important puzzle will respawn some type of loot