Reordered some functions to group them roughly by functionality.
Removed String.isNullOrEmpty -- the null check should be done separately (e.g., with 'checkNonNull') and String.isEmpty can be used to check for an empty string.
Fixed an off-by-one error in the array-slicing syntax used in String.choose and String.choosei.
Added the 'orf', 'andf', and 'xorf' functions which can be used to combine predicates.
Fixed an off-by-one bug in the String.tryFindIndex function.
Modified the String.split function so it returns an empty array when the input string is empty, instead of an array containing an empty string.
Replaced the String.trim function with the String.trimChars function, since it's more intuitive that way; trimming the whitespace like System.String.Trim() is easily accomplished by using String.trimWith.
Implemented tests for the String module (not including String.Split).