Add logger and log_dumper binaries

This enables actually logging data on the roborio and subsequently
actually doing basic viewing of the data in the logfiles.
Tested manually on my local machine.

This also makes an //aos/events/logging folder (this is distinct from
the //aos/logging folder which contains older logging information).

Change-Id: I41f3216d6c56e8330667e8dd6050b1a0dd5b19c9
diff --git a/aos/time/time.cc b/aos/time/time.cc
index 95044a4..6daae7e 100644
--- a/aos/time/time.cc
+++ b/aos/time/time.cc
@@ -5,6 +5,7 @@
 
 #include <atomic>
 #include <chrono>
+#include <ctime>
 
 #ifdef __linux__
 
@@ -54,13 +55,16 @@
 
 namespace aos {
 
-void PrintTo(const monotonic_clock::time_point t, std::ostream *os) {
-  auto s = std::chrono::duration_cast<std::chrono::seconds>(t.time_since_epoch());
-  *os << s.count() << "."
-      << std::chrono::duration_cast<std::chrono::nanoseconds>(
-             t.time_since_epoch() - s)
-             .count()
-      << "sec";
+std::ostream &operator<<(std::ostream &stream,
+                         const aos::monotonic_clock::time_point &now) {
+  auto seconds =
+      std::chrono::duration_cast<std::chrono::seconds>(now.time_since_epoch());
+  stream << seconds.count() << "."
+         << std::chrono::duration_cast<std::chrono::nanoseconds>(
+                now.time_since_epoch() - seconds)
+                .count()
+         << "sec";
+  return stream;
 }
 
 namespace time {