Fix compilation of Enum on JDK 7

Change-Id: I2e58b6a527e4ef1fc7ed3359b8aea88d01a031fb

libcore: Better Enum fix for JDK 7

 * Jerome Pilliet suggests using a cast in the compareTo method instead of
   changing the field visibility. This is a much better fix.

Change-Id: I334105e0922225512a4d0a2d4b6c9c6ec71b9c51
java7: Implement new Locale APIs.

Most validation and sanity checking is performed entirely
in java. We use ICU only for converting back and forth
between Locale objects and BCP-47 language tags
(toLanguageTag & forLanguageTag).

The new APIs also add support for script subtags and
manipulation of unicode locale extensions.

Note that we do not implement
IllformedLocaleException.getErrorIndex. If anyone complains
or if it proves useful somehow, we could plumb the information
through from ICU if required.

bug: 8992787
Change-Id: I9b2d7f8d17f970d1b57111dcfe92c16e68b0fa67
art: Fix building under JDK7

Change-Id: Ia86c20b04c9df2f86ee1e094c21c303de9ca2b43
Signed-off-by: Ricardo Cerqueira <cyanogenmod@cerqueira.org>