Enable run of tests on devices and emulators

This CL updates the DexVm enum to add add an information
about the kind of runtime used to run the tests, whether
it's a host version of the runtime or a target one
(device or emulator).
It adds also the DeviceRunner class which drives the target
device for the tests.

Change-Id: I10666951f083a4f1da2efe3e9d368803a223a1b2
Bug:
diff --git a/src/test/examples/filledarray/FilledArray.java b/src/test/examples/filledarray/FilledArray.java
index 46c437c..4e0c652 100644
--- a/src/test/examples/filledarray/FilledArray.java
+++ b/src/test/examples/filledarray/FilledArray.java
@@ -10,8 +10,7 @@
   private static byte[] bytes = new byte[] {
       0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, -19, -20, -96,
       Byte.MAX_VALUE, Byte.MIN_VALUE };
-  private static char[] chars = new char[] {
-      Character.MAX_VALUE, 'a', 'b', 'c', 'd', Character.MIN_VALUE };
+  private static char[] chars = new char[] {'a', 'b', 'c', 'd'};
   private static int[] ints = new int[] { Integer.MAX_VALUE, 0, -42, 42, Integer.MIN_VALUE };
   private static short[] shorts = new short[] { Short.MAX_VALUE, 0, -42, 42, Short.MIN_VALUE };
   private static long[] longs = new long[] {