Revert "Revert "Unload oat files""

Fixed a race where two threads calling OatFile::Open could both use
dlopen on the host.

Bug: 22720414

This reverts commit 72da5e7461fec3b1e116050f2e6f233efb9c54f3.

Change-Id: I1636045b724944d2a09417527280784967957095
diff --git a/runtime/runtime.cc b/runtime/runtime.cc
index 7a1f0af..b623ba1 100644
--- a/runtime/runtime.cc
+++ b/runtime/runtime.cc
@@ -282,10 +282,10 @@
   delete monitor_list_;
   delete monitor_pool_;
   delete class_linker_;
-  oat_file_manager_.reset();
   delete heap_;
   delete intern_table_;
   delete java_vm_;
+  delete oat_file_manager_;
   Thread::Shutdown();
   QuasiAtomic::Shutdown();
   verifier::MethodVerifier::Shutdown();
@@ -833,7 +833,7 @@
 
   QuasiAtomic::Startup();
 
-  oat_file_manager_.reset(new OatFileManager);
+  oat_file_manager_ = new OatFileManager;
 
   Monitor::Init(runtime_options.GetOrDefault(Opt::LockProfThreshold),
                 runtime_options.GetOrDefault(Opt::HookIsSensitiveThread));