Add some additional UndoList.worldName checks

Try and make sure an UndoList is always associated with a world, and
protected against when it's not.