fixed stack overflow that can occur when freeing very long adjacency lists (list free-er now iterative rather than recursive)