ART: Move read barrier config out of globals

Reduce the global dependencies by refactoring where the read
barrier constants are defined.

Rename read_barier_c.h to read_barier_config.h and ifdef the
C++ parts to have a common header for both C/asm and C++.

Put heap poisoning configuration into its own minimal header.

Fix up transitive includes.

Test: m
Change-Id: I159669ec61e3d1c4c7ddcd79e63b023a0519717a
diff --git a/runtime/gc_root.h b/runtime/gc_root.h
index 0894e9b..986e28e 100644
--- a/runtime/gc_root.h
+++ b/runtime/gc_root.h
@@ -20,6 +20,7 @@
 #include "base/macros.h"
 #include "base/mutex.h"       // For Locks::mutator_lock_.
 #include "mirror/object_reference.h"
+#include "read_barrier_option.h"
 
 namespace art {
 class ArtField;