Move monitor related object routines to object-inl.h

Also pass through readily available self Thread. Remove unused wait method.
Rename ObjectLock.Wait to document it doesn't honor interrupts.

Change-Id: I991e5036997b3f60ee4fdf1a420beabab9a70c85
diff --git a/src/thread.cc b/src/thread.cc
index 37c6783..d0401b6 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -987,9 +987,8 @@
         soa.DecodeField(WellKnownClasses::java_lang_Thread_lock)->GetObject(opeer_);
     // (This conditional is only needed for tests, where Thread.lock won't have been set.)
     if (lock != NULL) {
-      lock->MonitorEnter(self);
-      lock->Notify();
-      lock->MonitorExit(self);
+      ObjectLock locker(self, lock);
+      locker.Notify();
     }
   }