pulled out factory so it isn't created in a loop
updated sortedIndex so it doesn't assume get() or length()
implemented a bunch of string-specific methods in StringLikeSequence
implemented toUpperCase and toLowerCase
implemented indexOf, lastIndexOf, and contains for StringLikeSequence