Add some missing JNI string functions, GetObjectArrayElement, and all the primitive array region functions.

This also pulls the UTF-8/UTF-16 functions out of class String.

Change-Id: I75936b84fd619c9cf91f6e6a6037488220b05781
diff --git a/src/intern_table.cc b/src/intern_table.cc
index e070573..703bbe6 100644
--- a/src/intern_table.cc
+++ b/src/intern_table.cc
@@ -3,6 +3,7 @@
 #include "intern_table.h"
 
 #include "scoped_ptr.h"
+#include "utf.h"
 
 namespace art {
 
@@ -28,8 +29,8 @@
 
 String* InternTable::Intern(int32_t utf16_length, const char* utf8_data_in) {
   scoped_array<uint16_t> utf16_data_out(new uint16_t[utf16_length]);
-  String::ConvertModifiedUtf8ToUtf16(utf16_data_out.get(), utf8_data_in);
-  int32_t hash_code = String::ComputeUtf16Hash(utf16_data_out.get(), utf16_length);
+  ConvertModifiedUtf8ToUtf16(utf16_data_out.get(), utf8_data_in);
+  int32_t hash_code = ComputeUtf16Hash(utf16_data_out.get(), utf16_length);
   {
     MutexLock mu(intern_table_lock_);
     typedef Table::const_iterator It; // TODO: C++0x auto