got rid of all uses of strerror

This required some minor refactoring of other things and there were some
other small cleanups I noticed along the way.
diff --git a/aos/linux_code/logging/log_displayer.cc b/aos/linux_code/logging/log_displayer.cc
index 0bb3508..071a87e 100644
--- a/aos/linux_code/logging/log_displayer.cc
+++ b/aos/linux_code/logging/log_displayer.cc
@@ -5,7 +5,6 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <inttypes.h>
-#include <errno.h>
 
 #include <algorithm>
 
@@ -146,10 +145,7 @@
 
   int fd = open(filename, O_RDONLY);
   if (fd == -1) {
-    fprintf(stderr,
-            "error: couldn't open file '%s' for reading because of %s\n",
-            filename, strerror(errno));
-    exit(EXIT_FAILURE);
+    PLOG(FATAL, "couldn't open file '%s' for reading", filename);
   }
   ::aos::logging::linux_code::LogFileReader reader(fd);