Add resize arrays JVMTI extension

As a prototype for more general object replacement functionality add a
new JVMTI extension that allows one to change the size of arrays. This
extension is 'com.android.art.heap.change_array_size'. As far as any
JVMTI agent, JNI or Java Language code can observer this extension
atomically replaces every reference (strong and weak, global and
local, etc.) with a newly allocated array with the same contents but a
different length. Internally a whole new array will be created then
the old array will have its contents (including lock-word) copied and
all references to the old array will be replaced with the new array.

Test: ./test.py --host
Bug: 134162467

Change-Id: I92a0beabb02e0c92c8c8f9639836014ff1266878
diff --git a/test/knownfailures.json b/test/knownfailures.json
index 2a64ba6..1d6e36d 100644
--- a/test/knownfailures.json
+++ b/test/knownfailures.json
@@ -1117,7 +1117,8 @@
                   "1951-monitor-enter-no-suspend",
                   "1957-error-ext",
                   "1972-jni-id-swap-indices",
-                  "1973-jni-id-swap-pointer"
+                  "1973-jni-id-swap-pointer",
+                  "1974-resize-array"
                 ],
         "variant": "jvm",
         "description": ["Doesn't run on RI."]