Improve CHECK_<op> logging.

This patch lets us show the lhs and rhs when a relational check fails. (I show
both, even though that looks silly in cases like CHECK_EQ(rc, 0) where we'll
say "rc=-1, 0=0", because it's helpful in cases like CHECK_LT(i, size()) where
we want "i=4, size=2".)

I had to add a few operator<<s for enums, and fix a bunch of signed/unsigned
mismatches, and put the StringPiece operator<< in the right namespace.

Change-Id: I390f38bd97b3f50e12182f36ff027ca067c48d69
diff --git a/src/memory_region.cc b/src/memory_region.cc
index a10516f..30d61ed 100644
--- a/src/memory_region.cc
+++ b/src/memory_region.cc
@@ -9,8 +9,8 @@
 namespace art {
 
 void MemoryRegion::CopyFrom(size_t offset, const MemoryRegion& from) const {
-  CHECK_NE(from.pointer(), NULL);
-  CHECK_GT(from.size(), 0);
+  CHECK(from.pointer() != NULL);
+  CHECK_GT(from.size(), 0U);
   CHECK_GE(this->size(), from.size());
   CHECK_LE(offset, this->size() - from.size());
   memmove(reinterpret_cast<void*>(start() + offset),