Refactor GC to have a class for each different type of GC.

Added a seperate files for mark sweep, partial mark sweep,
sticky mark sweep.

Added a common superclass for GC.

Added additional statistics for each GC.

Moved main garbage collection code away from Heap.cc.

Change-Id: Ida0021ab2f740fc8228bbbf4d43cd9bc56b4ba46
diff --git a/src/atomic_integer.h b/src/atomic_integer.h
index 22cc7b4..0e07d2d 100644
--- a/src/atomic_integer.h
+++ b/src/atomic_integer.h
@@ -24,6 +24,9 @@
 
 class AtomicInteger {
  public:
+  // Default to uninitialized
+  AtomicInteger() { }
+
   AtomicInteger(int32_t value) : value_(value) { }
 
   // Unsafe = operator for non atomic operations on the integer.