SI-8988 Escaping character in StringLike.split(c) is slow

Escaping a char when calling split is slow.  We end up compiling a
Pattern on each call to simply match a character literal.

Instead, we just use a loop with indexOf to construct our resulting
Array.

It's longer code, but according to my tests, this is about 11 times faster than what we had.
Best to use the overload of `assertEquals` with a message to show the values of  `c` and `s` here, otherwise the failure might not be reproducible.