ART: Implement SuperblockCloner.

SuperblockCloner provides a feature of cloning subgraphs in a
smart, high level way without fine grain manipulation with IR;
data flow and graph properties are resolved/adjusted automatically.
The clone transformation is defined by specifying a set of basic
blocks to copy and a set of rules how to treat edges, remap their
successors. By using this approach such optimizations as Branch
Target Expansion, Loop Peeling, Loop Unrolling can be implemented.

Test: superblock_cloner_test.cc.
Change-Id: Ibeede38195376ca35f44ba9015491e50b3a5b87e
diff --git a/runtime/base/arena_allocator.h b/runtime/base/arena_allocator.h
index 9e03658..beaba67 100644
--- a/runtime/base/arena_allocator.h
+++ b/runtime/base/arena_allocator.h
@@ -101,6 +101,7 @@
   kArenaAllocCHA,
   kArenaAllocScheduler,
   kArenaAllocProfile,
+  kArenaAllocSuperblockCloner,
   kNumArenaAllocKinds
 };