Bug 856 - Android: Support dual ABI (x86 i686 *and* ARMv7arm), i.e. pick 'best' ABI

- Use 'os.arch' as a prelim CPUType for MachineDescription

- Always attempt to load a binary and parse it's elf header
  - Linux: self-exe
  - Android: gluegen-rt library
  - Other: java lib

- Always use details (ABI) if ARM

- Android: Check CPU_TYPE and CPU_TYPE2

// FIXME / HACK:
//   We use sCPUType for MachineDescriptionRuntime.getStatic()
//   until we have determined the final CPU_TYPE, etc.
//   MachineDescriptionRuntime gets notified via MachineDescriptionRuntime.notifyPropsInitialized() below.
//
//   We could use Elf Ehdr's machine value to determine the bit-size
//   used for it's offset table!
//   However, 'os.arch' should be a good guess for this task.

Tested manually on
  - Linux x86, x86_64, armhf (raspi)
  - Android intel and arm
  - Windows x86_64
  - OSX x86_64