More Gc statistics and logging

Added a few metrics to Gc performance measurements:
Mean GC throughput, total time spent in Gc, total time spent in allocation code, mean time per allocation.

Slightly optimized object allocation.

Change-Id: Ie68153a7100affafc4a01dab34b341077e754867
diff --git a/src/class_linker.cc b/src/class_linker.cc
index 243d9a5..40ca635 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -2784,7 +2784,7 @@
 }
 
 bool ClassLinker::EnsureInitialized(Class* c, bool can_run_clinit, bool can_init_fields) {
-  CHECK(c != NULL);
+  DCHECK(c != NULL);
   if (c->IsInitialized()) {
     return true;
   }