Adding systrace logging to GC

Added systrace logging to GC, thread checkpoints, GC pause,
and time spent waiting for concurrent GC to complete.

Change-Id: I33f0cf260526ccfd07bfaf038dfbf0a712eab24d
diff --git a/src/thread.h b/src/thread.h
index 24987cd..0daf763 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -554,10 +554,7 @@
     held_mutexes_[level] = mutex;
   }
 
-  void RunCheckpointFunction() {
-    CHECK(checkpoint_function_ != NULL);
-    checkpoint_function_->Run(this);
-  }
+  void RunCheckpointFunction();
 
   bool ReadFlag(ThreadFlag flag) const {
     return (state_and_flags_.as_struct.flags & flag) != 0;