Convert actions to event loops

The logic gets significantly simpler due to Watchers.  But we also get
to port all the users over as well.

Change-Id: Ib4e75951e65f7431acc6c1548b7f1d20da3da295
diff --git a/aos/testing/test_logging.cc b/aos/testing/test_logging.cc
index 34af54d..fa70d47 100644
--- a/aos/testing/test_logging.cc
+++ b/aos/testing/test_logging.cc
@@ -51,6 +51,8 @@
     }
   }
 
+  bool fill_type_cache() override { return false; }
+
   void PrintMessagesAsTheyComeIn() { print_as_messages_come_in_ = true; }
 
  private: