Force inlining on trivial accessors.

Make volatility for GetFieldObject a template parameter.
Move some trivial mirror::String routines to a -inl.h.

Bug: 14285442

Change-Id: Ie23b11d4f18cb15a62c3bbb42837a8aaf6b68f92
diff --git a/runtime/mirror/reference-inl.h b/runtime/mirror/reference-inl.h
index 0f76f77..43767c8 100644
--- a/runtime/mirror/reference-inl.h
+++ b/runtime/mirror/reference-inl.h
@@ -25,8 +25,8 @@
 inline bool Reference::IsEnqueuable() {
   // Not using volatile reads as an optimization since this is only called with all the mutators
   // suspended.
-  const Object* queue = GetFieldObject<mirror::Object>(QueueOffset(), false);
-  const Object* queue_next = GetFieldObject<mirror::Object>(QueueNextOffset(), false);
+  const Object* queue = GetFieldObject<mirror::Object>(QueueOffset());
+  const Object* queue_next = GetFieldObject<mirror::Object>(QueueNextOffset());
   return queue != nullptr && queue_next == nullptr;
 }