[exprimental] Add strategies more control over satisfying Data

With this patch, strategies now selectively decide not to satisfy some
(all) of the incoming interests listed in PIT.  However, if there are
multiple PIT entries being satisfied with the same Data packet, the
decision may not be honored (e.g., when another PIT entry/strategy
decided to satisfy a specific downstream).

Change-Id: I2edf19ae5bdeab0b69c57c7af7bb292db05885bb
diff --git a/daemon/fw/strategy.hpp b/daemon/fw/strategy.hpp
index e427ae6..514e35e 100644
--- a/daemon/fw/strategy.hpp
+++ b/daemon/fw/strategy.hpp
@@ -183,6 +183,13 @@
   beforeSatisfyInterest(const shared_ptr<pit::Entry>& pitEntry,
                         const FaceEndpoint& ingress, const Data& data);
 
+
+  virtual void
+  satisfyInterest(const shared_ptr<pit::Entry>& pitEntry,
+                  const FaceEndpoint& ingress, const Data& data,
+                  std::set<std::pair<Face*, EndpointId>>& satisfiedDownstreams,
+                  std::set<std::pair<Face*, EndpointId>>& unsatisfiedDownstreams);
+
   /** \brief trigger after a Data is matched in CS
    *
    *  In the base class this method sends \p data to \p ingress