Add a reference table implementation.

This is suitable for pinned array references and the like.

I've also brought in some of the human-readable type printing stuff
for the benefit of the reference table dumping code.

This patch includes tests, but doesn't yet wire anything up.

Change-Id: Iaf6066201bbd254e033dee4fd0b8dfd0bc17afa9
diff --git a/build/Android.common.mk b/build/Android.common.mk
index 08dc43f..ae276f5 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -55,11 +55,13 @@
 	src/object_bitmap.cc \
 	src/offsets.cc \
 	src/os_linux.cc \
+	src/reference_table.cc \
 	src/runtime.cc \
 	src/space.cc \
 	src/stringpiece.cc \
 	src/stringprintf.cc \
 	src/thread.cc \
+	src/utils.cc \
 	src/zip_archive.cc
 
 LIBART_TARGET_SRC_FILES := \
@@ -97,8 +99,10 @@
 	src/jni_internal_test.cc.arm \
 	src/jni_compiler_test.cc.arm \
 	src/object_test.cc \
+	src/reference_table_test.cc \
 	src/runtime_test.cc \
 	src/space_test.cc \
+	src/utils_test.cc \
 	src/zip_archive_test.cc
 
 TEST_TARGET_SRC_FILES := \