Add boot.prop support.

This patch allows one to specify a custom list of boot properties that
will be injected into the guest system at boot time. The properties
must be placed in a file named 'boot.prop', which can appear in the
following locations:

For AVDs:

   1) In the AVD's content directory.
   2) Otherwise in the system image's directory.

For Android platform builds:

   1) In the $ANDROID_BUILD_OUT directory.
      Note that this is different from build.prop which will be read
      from $ANDROID_BUILD_OUT/system/ instead (and isn't used to
      inject any properties).

Note that any '-boot-property <name>=<value>' on the command-line will
be injected after the content of 'boot.prop', overriding it unless it
begins with a 'ro.' prefix.

The patch refactors a little how information is retrieved for builds
and AVD configurations. It also fixes a few bugs in the auto-detection
logic for the target architecture / ABI.

BUG=12819077

Change-Id: I9f41f21d9de3e4d25de427f0e5a6bb517f34c5ba
14 files changed