Deoptimize zygote compiled methods in DeoptimizeBootImage.

Those methods don't get compiled with the "debuggable" flag,
so we need to deoptimize them.

Also fix a bug revealed by the new test where a concurrent
JIT collection happens when trying to disable it.

Also make DeoptimizeBootImage truly mutator lock exclusive.

Test: 689-zygote-jit-deopt
Change-Id: I00607dbe100350c5328293c35c87946fa97924b8
diff --git a/openjdkjvmti/deopt_manager.h b/openjdkjvmti/deopt_manager.h
index d9f34a5..065baa7 100644
--- a/openjdkjvmti/deopt_manager.h
+++ b/openjdkjvmti/deopt_manager.h
@@ -107,7 +107,7 @@
 
   void FinishSetup()
       REQUIRES(!deoptimization_status_lock_, !art::Roles::uninterruptible_)
-      REQUIRES_SHARED(art::Locks::mutator_lock_);
+      REQUIRES(art::Locks::mutator_lock_);
 
   static DeoptManager* Get();