+str - Fixes #16065

Adds an IteratorPublisher and IteratorPublisherImpl
Removes the SimpleCallbackPublisher
Switches the callback-source () => Option[T] to use a new ThunkIterator and the IteratorPublisher
Removes the use of a ControlThrowable (Stop) for signalling end since we now use Iterator
Improves a couple of streams-related tests so when they fail we get better output
ok, I just find it slightly misleading, because this was perhaps not an empty iterator, the iterator became empty. That is nitpicks, and `Iterator.empty.next` is fine with me.