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/common/common.gyp b/aos/common/common.gyp
index c989bf2..2581eaa 100644
--- a/aos/common/common.gyp
+++ b/aos/common/common.gyp
@@ -225,6 +225,12 @@
       'sources': [
         'die.cc',
       ],
+      'dependencies': [
+        '<(AOS)/common/util/util.gyp:aos_strerror',
+      ],
+      'export_dependent_settings': [
+        '<(AOS)/common/util/util.gyp:aos_strerror',
+      ],
     },
     {
       'target_name': 'condition',
@@ -277,6 +283,7 @@
         'mutex',
         'die',
         '<(AOS)/build/aos.gyp:logging',
+        '<(AOS)/common/util/util.gyp:death_test_log_implementation',
       ],
     },
     {