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/stringpiece.cc b/src/stringpiece.cc
index 27e24d1..4b1ef7b 100644
--- a/src/stringpiece.cc
+++ b/src/stringpiece.cc
@@ -90,9 +90,9 @@
 
 const StringPiece::size_type StringPiece::npos = size_type(-1);
 
-}  // namespace art
-
 std::ostream& operator<<(std::ostream& o, const art::StringPiece& piece) {
   o.write(piece.data(), piece.size());
   return o;
 }
+
+}  // namespace art