SI-8680  Stream.addString is too eager

Used the standard method of sending out two iterators, one twice as fast as the others, to avoid hanging on .force, .hasDefiniteSize, and .addString.

.addString appends a "..." as the last element if it detects a cycle.  It knows how to print the cycle length, but there's no good way to specify what you want right now, so it's not used.

Added tests in t8680 that verify that cyclic streams give the expected results.

Added to whitelist names of methods formerly used for recursion (now looping).
Merge pull request #3848 from Ichoran/issue/8680

SI-8680  Stream.addString is too eager