ci: compile-check installed headers

Script copied from ndn-cxx with minor modifications

Also, move tlv.hpp to detail/ and cleanup includes in common.hpp

Change-Id: I6240601f005c61bb3547bd5acf854200f3b13093
diff --git a/src/interest-table.hpp b/src/interest-table.hpp
index bf5685b..4fc3eb4 100644
--- a/src/interest-table.hpp
+++ b/src/interest-table.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
 /*
- * Copyright (c) 2012-2017 University of California, Los Angeles
+ * Copyright (c) 2012-2021 University of California, Los Angeles
  *
  * This file is part of ChronoSync, synchronization library for distributed realtime
  * applications for NDN.
@@ -27,6 +27,8 @@
 
 #include "interest-container.hpp"
 
+#include <boost/asio/io_service.hpp>
+
 namespace chronosync {
 
 /**
@@ -38,11 +40,7 @@
   class Error : public std::runtime_error
   {
   public:
-    explicit
-    Error(const std::string& what)
-      : std::runtime_error(what)
-    {
-    }
+    using std::runtime_error::runtime_error;
   };
 
   using iterator = InterestContainer::iterator;