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/build/Android.common.mk b/build/Android.common.mk
index d86a785..27b7ae5 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -151,12 +151,15 @@
 	src/file.cc \
 	src/file_linux.cc \
 	src/gc/card_table.cc \
+	src/gc/garbage_collector.cc \
 	src/gc/heap_bitmap.cc \
 	src/gc/large_object_space.cc \
 	src/gc/mark_sweep.cc \
 	src/gc/mod_union_table.cc \
+	src/gc/partial_mark_sweep.cc \
 	src/gc/space.cc \
 	src/gc/space_bitmap.cc \
+	src/gc/sticky_mark_sweep.cc \
 	src/heap.cc \
 	src/hprof/hprof.cc \
 	src/image.cc \