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
workaround an armv6 gcc 4.7 bug

this fixes com.android.phone getting a SIGBUS on startup due to mmap'd
tzdata reads that always crash in this libcore code.
gcc 4.8 works without issue and 4.6 worked fine with cm10.1, so this
workaround has been made specific to just gcc 4.7.

Change-Id: Ide3b33dd8bdbb1e0f1a91b65ba21c7aa8e276af5
art: Fix building under JDK7
Strict Aliasing Fix

Change-Id: I9f4440e651804577fdd2b9b9a0118ad5bf487e9c