ObjPtr<>-ify mirror::Class.

And move function definitions that rely on obj_ptr-inl.h
from class.h to class-inl.h .

Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 31113334
Change-Id: I5ccc765d0a02b1d37cb39ed68c17b8456faf92ea
diff --git a/runtime/mirror/array-inl.h b/runtime/mirror/array-inl.h
index d9d88e1..3a0cbe2 100644
--- a/runtime/mirror/array-inl.h
+++ b/runtime/mirror/array-inl.h
@@ -270,7 +270,7 @@
 }
 
 template <VerifyObjectFlags kVerifyFlags, typename Visitor>
-inline void PointerArray::Fixup(mirror::PointerArray* dest,
+inline void PointerArray::Fixup(ObjPtr<mirror::PointerArray> dest,
                                 PointerSize pointer_size,
                                 const Visitor& visitor) {
   for (size_t i = 0, count = GetLength(); i < count; ++i) {