function SplitIterator(upstream, separator) {
	    var _this;

	    _this = _StringIterator.call(this) || this;
	    _this.upstream = upstream;
	    _this.impl = new SplitIteratorImpl(upstream, separator);
	    return _this;
	  }
Splits a string stream on a given separator.

It is assumed that the incoming chunk boundaries have no semantic meaning,
so conceptually the incoming stream is treated simply as the concatenation
of its elements.

The outgoing stream provides chunks corresponding to the results of the
standard string split() operation (even if such a chunk spanned incoming
chunks).  The separators are not included.

A typical usage is to split a text file (represented as a stream with
arbitrary chunk boundaries) into lines.

@param upstream A readable stream of strings that can be treated as
  concatenated.
@param separator A character to split on.