runtime: Add support for dexroot-on-cache

If installd puts the dex files there, we want to read/write our oat
files out of there, too

Change-Id: I7da528622d7c855431dd99b20ff54da791bc1681
runtime: dexroot-on-cache: obey dalvik.vm.dexopt-data-only

Change-Id: Ie037706b1004e014c20f81c8fcdc219c46da57c7
tools: use '/usr/bin/env python' instead of '/usr/bin/python'

* This is how it is done in other scripts in the AOSP tree, as
  '/usr/bin/python' may be python3 on some distros, which isn't
  supported yet.

Change-Id: I0d9857fc6a122f505953fddcd6244dad75b1838a
Merge tag 'android-4.4.1_r1' into HEAD

Android 4.4.1 Release 1
runtime: Invert the default for dexopt-on-cache

The growth of /system apps and total /data space are making this
device-breaking (insufficient space to dexopt everything to
/cache), pointless (/data has more than enough room to hold
the cache), and in some cases, both.
The default behavior is now the same as mainline Android's: dexopt
everything to /data. Set dalvik.vm.dexopt-data-only=0 to change
that and dexopt /system apps to /cache. If you do that, make sure
your /cache can accomodate double the size of the dex classes in
system, since that has been observed during dex2oat

Change-Id: I8c1debee6e16a6fb162e42a7c9a47ec076eb69df
Finish fixing Zygote descriptor leakage problem

In order to prevent Zygote descriptors from leaking into the child
environment, they should be closed by the forked-off child process
before the child switches to the application UID.  These changes close
the descriptors via dup2(), substituting a descriptor open to
/dev/null in their place; this allows the Zygote Java code to close
the FileDescriptor objects cleanly.

This is a multi-project change:	dalvik, art, libcore, frameworks/base,
and external/sepolicy are affected.  The CLs need to be approved
together, lest the build break or the software fail to boot.

Round 2: use proper type (jsize) for iteration variable;  whitespace.

Round 3: indentation.

Bug: 12114500
Change-Id: I31d25831b477b076d980c531d57773f9c8c83261
Merge remote-tracking branch 'cm/cm-11.0' into kk-4.4

Conflicts:
	runtime/utils.cc