Untangle and clean up the logging code

It was a mess before because of a combination of having code split out
for cRIO vs Linux and cruft.

Change-Id: Id282e1a7f7988be0441c669a573a5d022ed41fb9
diff --git a/aos/common/logging/queue_logging.cc b/aos/common/logging/queue_logging.cc
index 14559fb..0f1227c 100644
--- a/aos/common/logging/queue_logging.cc
+++ b/aos/common/logging/queue_logging.cc
@@ -1,21 +1,21 @@
 #include "aos/common/logging/queue_logging.h"
 
-#include "aos/common/logging/logging_impl.h"
+#include "aos/common/logging/interface.h"
+#include "aos/common/logging/sizes.h"
 #include "aos/common/queue_types.h"
 
 namespace aos {
 namespace logging {
+namespace internal {
 
-void LogImplementation::DoLogStruct(
-    log_level level, const ::std::string &message, size_t size,
-    const MessageType *type, const ::std::function<size_t(char *)> &serialize,
-    int levels) {
-
+void DoLogStruct(log_level level, const ::std::string &message, size_t size,
+                 const MessageType *type,
+                 const ::std::function<size_t(char *)> &serialize, int levels) {
   {
     auto fn = [&](LogImplementation *implementation) {
       implementation->LogStruct(level, message, size, type, serialize);
     };
-    internal::RunWithCurrentImplementation(levels, ::std::ref(fn));
+    RunWithCurrentImplementation(levels, ::std::ref(fn));
   }
 
   if (level == FATAL) {
@@ -34,5 +34,6 @@
   }
 }
 
+}  // namespace internal
 }  // namespace logging
 }  // namespace aos