Fix String.toLowerCase/toUpperCase for Azeri, Greek (all locales), and Turkish.

This patch fixes Greek final sigma in all locales, treats Azeri locales like
Turkish locales, and fixes our dotted/dotless-i/I behavior in Turkish locales
(and thus now Azeri locales too).

Still broken: behavior in Lithuanian locales, supplementary characters.

I've also removed String's own optimized-for-ASCII toLowerCase(char) and
toUpperCase(char): we've optimized Character's methods and don't want another
copy. I've removed the unused String.getValue which provided access to the
underlying char[] --- this wasn't used, and wouldn't work anyway without
some way to access String's 'offset' and 'count' fields too.
2 files changed