+str - Fixes #16065 by adding an IteratorPublisher and removing SimpleCallbackPublisher

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