unsplit is for when the cost of creating a [][]byte from bytes.Split is a problem.
it successively returns a slice of each token in the string without creating a new [][]byte.
It can be 3 times faster than bytes.Split() and 2 times fater than bytes.SplitN (though both
of those functions are faster in go1.9+ so the improvement is less.