face: Multiple matching for setInterestFilter and expressInterest callbacks

As of this commit, all callbacks registered by setInterestFilter will be
called for every interest that is matching the filter.

Similarly for expressed Interest, all pending Interest will be satisfied
by any incoming matching Data.

Change-Id: I2463bd4114a2a1cdbe92ff03805adc5c404266a9
diff --git a/src/face.hpp b/src/face.hpp
index 6a9a87c..7e14ffd 100644
--- a/src/face.hpp
+++ b/src/face.hpp
@@ -229,23 +229,12 @@
   static void
   fireProcessEventsTimeout(const boost::system::error_code& error);
 
-  /**
-   * Find the entry from the pit_ where the name conforms to the entry's interest selectors, and
-   * the entry interest name is the longest that matches name.
-   * @param name The name to find the interest for (from the incoming data packet).
-   * @return The index in pit_ of the pit entry, or -1 if not found.
-   */
-  PendingInterestTable::iterator 
-  getEntryIndexForExpressedInterest(const Name& name);
-  
-  /**
-   * Find the first entry from the m_registeredPrefixTable where the entry prefix is the longest that matches name.
-   * @param name The name to find the PrefixEntry for (from the incoming interest packet).
-   * @return A pointer to the entry, or 0 if not found.
-   */
-  RegisteredPrefixTable::iterator
-  getEntryForRegisteredPrefix(const Name& name);
-  
+  void
+  satisfyPendingInterests(Data& data);
+
+  void
+  processInterestFilters(Interest& interest);
+    
   void
   checkPitExpire();