LocaleUtils: work around a super annoying, longstanding bug with .split()

The default, no-arg constructor of .split() trims all trailing empty strings
from the resulting array. No wonder many people viewed that as a bug, and no
wonder either many people wrote more sane version of it (latest in line, and
most trustworthy: Guava).

Anyway. Here we don't use external libs. And there is actually a solution using
the JDK proper: always specify the length of the wanted array to .split(), and
make that length negative. Here we choose -1.

Discussion on Stack Overflow:
http://stackoverflow.com/questions/16910093/javas-split-method-corner-cases-what-are-they

[comment could do with a rewording at this stage]