GC triggering performance optimizations

Copy the correct starting heap size at process init.
Interfaces to set GC/managed heap parameters.

Change-Id: I3f3f60915e0c732436118e8e605393360c89bfe4
(cherry picked from commit a6f2e5f1162760178b8cb412c6beee6a5cbce429)
(cherry picked from commit fe9675349c1c0fe2a92e7cb2d9b8bd830f225103)
(cherry picked from commit be6f88153d8e515d9decf4274efdc5f76c87e2b9)
libcore: Do not pre-bind socket in connect method

The connect method in Java should not have to explicitly
bind to Inet4Address.ANY. For unbound sockets, the kernel's
connect function will perform an inet_autobind.

cherry picked from commit-id f4d980670fd4938a6b5ec07a5818454fc44f2a57

CRs-fixed: 370996

Change-Id: I56c4ec6215e3ae00b42c0579592628d02c9f1c9c
(cherry picked from commit c52ae135bb14a96d237e971fb01bfae30723be2a)
(cherry picked from commit adcee075eec0b2afd787d1179ccbf04c653a60b5)
(cherry picked from commit 57926ca5d077582f08d00e5d380de1fdb79384e0)
(cherry picked from commit afdcceb7ad17ab389707a0c7fb52564e92c5f47e)
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
GC triggering performance optimizations

Copy the correct starting heap size at process init.
Interfaces to set GC/managed heap parameters.

Change-Id: If0b1637291e77f9781ae6249c5d0257f659253ca
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