fw: eliminate fibEntry in Strategy API

Strategy::lookupFib can be used to obtain FIB entry.
FIB lookup is skipped when strategy does not need it.

refs #3205

Change-Id: Icba67229cbc261d9def44ffa91461ea4b09982b2
diff --git a/daemon/fw/access-strategy.hpp b/daemon/fw/access-strategy.hpp
index 2df13ad..ca7a2e3 100644
--- a/daemon/fw/access-strategy.hpp
+++ b/daemon/fw/access-strategy.hpp
@@ -58,7 +58,6 @@
   virtual void
   afterReceiveInterest(const Face& inFace,
                        const Interest& interest,
-                       shared_ptr<fib::Entry> fibEntry,
                        shared_ptr<pit::Entry> pitEntry) override;
 
   virtual void
@@ -130,13 +129,11 @@
   void
   afterReceiveNewInterest(const Face& inFace,
                           const Interest& interest,
-                          shared_ptr<fib::Entry> fibEntry,
                           shared_ptr<pit::Entry> pitEntry);
 
   void
   afterReceiveRetxInterest(const Face& inFace,
                            const Interest& interest,
-                           shared_ptr<fib::Entry> fibEntry,
                            shared_ptr<pit::Entry> pitEntry);
 
   /** \brief send to last working nexthop
@@ -144,18 +141,17 @@
    */
   bool
   sendToLastNexthop(const Face& inFace, shared_ptr<pit::Entry> pitEntry, MtInfo& mi,
-                    shared_ptr<fib::Entry> fibEntry);
+                    const fib::Entry& fibEntry);
 
   void
-  afterRtoTimeout(weak_ptr<pit::Entry> pitWeak, weak_ptr<fib::Entry> fibWeak,
-                  FaceId inFace, FaceId firstOutFace);
+  afterRtoTimeout(weak_ptr<pit::Entry> pitWeak, FaceId inFace, FaceId firstOutFace);
 
   /** \brief multicast to all nexthops
    *  \param exceptFaces don't forward to those faces
    */
   void
   multicast(shared_ptr<pit::Entry> pitEntry,
-            shared_ptr<fib::Entry> fibEntry,
+            const fib::Entry& fibEntry,
             std::unordered_set<FaceId> exceptFaces = std::unordered_set<FaceId>());
 
   void