Clean up internal libc logging.

We only need one logging API, and I prefer the one that does no
allocation and is thus safe to use in any context.

Also use O_CLOEXEC when opening the /dev/log files.

Move everything logging-related into one header file.

Change-Id: Ic1e3ea8e9b910dc29df351bff6c0aa4db26fbb58
diff --git a/libstdc++/src/pure_virtual.cpp b/libstdc++/src/pure_virtual.cpp
index affb80f..6b5e328 100644
--- a/libstdc++/src/pure_virtual.cpp
+++ b/libstdc++/src/pure_virtual.cpp
@@ -2,7 +2,7 @@
 #include <assert.h>
 
 extern "C" void __cxa_pure_virtual() {
-  // We can't call __libc_android_log_write from libstdc++ because it's private, so cheat.
+  // We can't call __libc_format_log from libstdc++ because it's hidden and in libc, so cheat.
   assert(!"Pure virtual function called. Are you calling virtual methods from a destructor?");
   /* NOTREACHED */
 }