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.
This is okay as we only have one character, but in general it is better to use `Pattern.quote(c.toString)` which handles corner cases such as when the argument is itself the string "\\E".