Clarify the String.compareTo contract and add tests.

Our use of vague terms like "negative" and "positive" led VM engineers to
assume they had more leeway than they actually do.

While we're here, let's fix all the ambiguous use of 'character' and add a
warning and link to Collator anywhere the non-standard (and
non-locale-specific) case folding is used.

Change-Id: I0a0fb2a493861d32fac0bc4e28ae9634f8ac342c
2 files changed