cleaned up lots of not-so-niceties and a few bugs

I built everything with clang (hackishly in some areas) and it spit out a bunch
of warnings.
diff --git a/aos/linux_code/ipc_lib/raw_queue_test.cc b/aos/linux_code/ipc_lib/raw_queue_test.cc
index c2506a4..fecf488 100644
--- a/aos/linux_code/ipc_lib/raw_queue_test.cc
+++ b/aos/linux_code/ipc_lib/raw_queue_test.cc
@@ -47,7 +47,8 @@
       case ResultType::NotCalled:
         return "NotCalled";
       default:
-        return std::string("unknown(" + static_cast<uint8_t>(result)) + ")";
+        return std::string("unknown(") +
+               ::std::to_string(static_cast<uint8_t>(result)) + ")";
     }
   }
   static_assert(aos::shm_ok<ResultType>::value,
diff --git a/aos/linux_code/logging/linux_logging.cc b/aos/linux_code/logging/linux_logging.cc
index 65e6ca2..cdb052a 100644
--- a/aos/linux_code/logging/linux_logging.cc
+++ b/aos/linux_code/logging/linux_logging.cc
@@ -37,6 +37,7 @@
 }
 
 class LinuxQueueLogImplementation : public LogImplementation {
+  __attribute__((format(GOOD_PRINTF_FORMAT_TYPE, 3, 0)))
   virtual void DoLog(log_level level, const char *format, va_list ap) override {
     LogMessage *message = GetMessageOrDie();
     internal::FillInMessage(level, format, ap, message);