all: cleanup common.hpp and import typenames from ndn namespace.

This allows us to compile NFD in C++11 mode, making use of std::shared_ptr,
std::function, std::bind, etc. rather than their boost equivalents
(provided that ndn-cpp-dev is also compiled in C++11 mode). This is an
experimental feature and may not work properly.

Change-Id: I310529f78e1e428a8530b087983130d1ef3a9d88
diff --git a/daemon/table/cs.hpp b/daemon/table/cs.hpp
index a1769ea..f52585b 100644
--- a/daemon/table/cs.hpp
+++ b/daemon/table/cs.hpp
@@ -36,8 +36,7 @@
 #include <boost/multi_index/sequenced_index.hpp>
 #include <boost/multi_index/identity.hpp>
 
-using namespace ::boost;
-using namespace ::boost::multi_index;
+#include <queue>
 
 namespace nfd {
 
@@ -69,26 +68,26 @@
 class byStaleness;
 class byArrival;
 
-typedef multi_index_container<
+typedef boost::multi_index_container<
   cs::Entry*,
-  indexed_by<
+  boost::multi_index::indexed_by<
 
     // by arrival (FIFO)
-    sequenced<
-      tag<byArrival>
+    boost::multi_index::sequenced<
+      boost::multi_index::tag<byArrival>
     >,
 
     // index by staleness time
-    ordered_non_unique<
-      tag<byStaleness>,
-      identity<cs::Entry*>,
+    boost::multi_index::ordered_non_unique<
+      boost::multi_index::tag<byStaleness>,
+      boost::multi_index::identity<cs::Entry*>,
       StalenessComparator
     >,
 
     // unsolicited Data is in the front
-    ordered_non_unique<
-      tag<unsolicited>,
-      identity<cs::Entry*>,
+    boost::multi_index::ordered_non_unique<
+      boost::multi_index::tag<unsolicited>,
+      boost::multi_index::identity<cs::Entry*>,
       UnsolicitedComparator
     >
 
diff --git a/daemon/table/name-tree.cpp b/daemon/table/name-tree.cpp
index c4380ce..101014a 100644
--- a/daemon/table/name-tree.cpp
+++ b/daemon/table/name-tree.cpp
@@ -27,6 +27,8 @@
 #include "name-tree.hpp"
 #include "core/logger.hpp"
 
+#include <boost/functional/hash.hpp>
+
 namespace nfd {
 
 NFD_LOG_INIT("NameTree");