VIXL simulator for ART (Stage1)

Quick User Guide: test/README.simulator.md

This CL enables running ART run-tests in a simulator on host machine.
Some benefits of using this simulator approach:
- No need to use a target device at all.
  Save developers from solving the device troubles: build, flash, usb,
  adb, etc.
- Speed up development/debug/test cycle.
- Allows easy debugging/testing new instruction features without real
  hardware.
- Allows using a smaller AOSP Android manifest master-art.

The Stage1 CL provides support for running 30% of current run-tests.
The rest unsupported test cases are kept in knownfailures.json.

Future work will be supporting proper stack frame layout between
simulator and quick entrypoints, so that stack walk,
QuickArgumentVisitor, deoptimization, etc can be supported.

This CL adds libart(d)-simulator-container library to the ART APEX. It
has cause the following increase of the APEX size (small, about 0.13% for
release APEX, measured for target aosp_arm64-userdebug):
 Before:
   88992 com.android.art.debug.apex
   51612 com.android.art.release.apex
  112352 com.android.art.testing.apex
 After:
   89124 com.android.art.debug.apex
   51680 com.android.art.release.apex
  112468 com.android.art.testing.apex

Test: art/test.py --run-test --optimizing --simulate-arm64
Test: art/test.py --run-test --optimizing --host
Test: m test-art-host-gtest

Change-Id: I078812dde9aaf7128d9f262b2102251927596b7f
29 files changed