SI-8924 don't hold reference to list in iterator

Current implementation of LinearSeqLike.iterator holds
reference to complete sequence. This prevent garbage collecting
of List elements while we keep reference to iterator somewhere.

This commit removes reference from Iterator implementation. This
allow garbage collection of List while we iterating over its
elements (when there is no other references to List in our program).

Test program posted to https://issues.scala-lang.org/browse/SI-8924.
It is hard to turn it into unit test since it run relatively long,
creates GC pressure and run's out of memory on failure.
"exists" condition checks that any list is garbage collected. "forall" checks thal all lists are garbage collected. First condition should happen earlier and requires less gc cycles.