table: set/getStrategyInfo on FIB/PIT entities

refs #1241

Change-Id: I20f509384a0a046962c3debf3a53a1fc2a01b3bc
diff --git a/daemon/table/fib-entry.hpp b/daemon/table/fib-entry.hpp
index 20d0206..40098ee 100644
--- a/daemon/table/fib-entry.hpp
+++ b/daemon/table/fib-entry.hpp
@@ -24,9 +24,10 @@
 /** \class Entry
  *  \brief represents a FIB entry
  */
-class Entry : noncopyable
+class Entry : public StrategyInfoHost, noncopyable
 {
 public:
+  explicit
   Entry(const Name& prefix);
   
   const Name&
diff --git a/daemon/table/fib-nexthop.hpp b/daemon/table/fib-nexthop.hpp
index 5961b42..41c121b 100644
--- a/daemon/table/fib-nexthop.hpp
+++ b/daemon/table/fib-nexthop.hpp
@@ -9,6 +9,7 @@
 
 #include "common.hpp"
 #include "face/face.hpp"
+#include "strategy-info-host.hpp"
 
 namespace nfd {
 namespace fib {
@@ -16,9 +17,10 @@
 /** \class NextHop
  *  \brief represents a nexthop record in FIB entry
  */
-class NextHop
+class NextHop : public StrategyInfoHost
 {
 public:
+  explicit
   NextHop(shared_ptr<Face> face);
   
   NextHop(const NextHop& other);
diff --git a/daemon/table/pit-entry.hpp b/daemon/table/pit-entry.hpp
index 98665fc..979af6c 100644
--- a/daemon/table/pit-entry.hpp
+++ b/daemon/table/pit-entry.hpp
@@ -27,7 +27,7 @@
 /** \class Entry
  *  \brief represents a PIT entry
  */
-class Entry : noncopyable
+class Entry : public StrategyInfoHost, noncopyable
 {
 public:
   explicit
diff --git a/daemon/table/pit-face-record.hpp b/daemon/table/pit-face-record.hpp
index b51c0bc..2068729 100644
--- a/daemon/table/pit-face-record.hpp
+++ b/daemon/table/pit-face-record.hpp
@@ -9,6 +9,7 @@
 
 #include "face/face.hpp"
 #include "core/time.hpp"
+#include "strategy-info-host.hpp"
 
 namespace nfd {
 namespace pit {
@@ -19,7 +20,7 @@
  *  \note This is an implementation detail to extract common functionality
  *        of InRecord and OutRecord
  */
-class FaceRecord
+class FaceRecord : public StrategyInfoHost
 {
 public:
   explicit