DO_PIKE_CLEANUP frees ADT.List nodes that are still in use at exit.

Imported from https://youtrack.roxen.com/issue/PIKE-227

Reported by @grubba

free_all_pike_list_node_blocks() is called before do_gc(1). This causes stale pointers to be followed be the gc, causing various failures.