Add an ImtConflictTable to better resolve IMT conflicts.

- Attach a ImtConflictTable to conflict runtime ArtMethod.
- Initially 0, a new one will be created at the first hit of
  the conflict method.
- If the assembly code does not find a target method in the table,
  we will create a new one again, copying the data from the previous
  table and adding the new mapping.

Implemented for arm/arm64/x86/x64.

bug:27556801
bug:24769046

Change-Id: Ie74d1c77cf73d451a1142bdc5e3683f9f84bb4e7
diff --git a/runtime/class_linker.h b/runtime/class_linker.h
index c368a3a..b4fbe1c 100644
--- a/runtime/class_linker.h
+++ b/runtime/class_linker.h
@@ -565,7 +565,7 @@
       REQUIRES(Locks::classlinker_classes_lock_)
       SHARED_REQUIRES(Locks::mutator_lock_);
 
-  ArtMethod* CreateRuntimeMethod();
+  ArtMethod* CreateRuntimeMethod(LinearAlloc* linear_alloc);
 
   // Clear the ArrayClass cache. This is necessary when cleaning up for the image, as the cache
   // entries are roots, but potentially not image classes.