Optimization in Other
A couple more optimizations for splitting vectors. One of them makes search
faster in the simple case (no need for Boyer-Moore for a one-character search)
and append a null vector rather than instantiating a new one when we find empty
This gets the reading time down to 6 seconds here for the reported bug, which
still isn't great, but it's starting to get close to acceptable. I'll see if I
can get it a little tighter...