Holds an immutable String value and optionally a Locale, with methods to convert to various
types. Also provides some handy parsing methods and a variety of static factory methods.

Objects can be constructed directly from Strings or by using the valueOf() static factory
methods. The repeat() static factory methods provide a way of generating a String value that
repeats a given char or String a number of times.

Conversions to a wide variety of types can be found in the to*() methods. A generic conversion
can be achieved with to(Class).

The beforeFirst(), afterFirst(), beforeLast() and afterLast() methods are handy for parsing
things like paths and filenames.