model: Adding exclude filter processing in all content store implementations

Although exclude filter is honored now by content stores, forwarding
strategy is completely ignoring them.  That is, if somebody replies to
an interest with a data packet that violates the filter, this data
packet will propagate back to the requester.  This "problem" may or may
not be addressed in future.

Refs #1009 (http://redmine.named-data.net/issues/1009)
diff --git a/utils/trie/trie.h b/utils/trie/trie.h
index 62411d6..4d5a884 100644
--- a/utils/trie/trie.h
+++ b/utils/trie/trie.h
@@ -415,6 +415,32 @@
     return 0;
   }
 
+  /**
+   * @brief Find next payload of the sub-trie satisfying the predicate
+   * @param pred predicate
+   *
+   * This version check predicate only for the next level children
+   *
+   * @returns end() or a valid iterator pointing to the trie leaf (order is not defined, enumeration )
+   */
+  template<class Predicate>
+  inline const iterator
+  find_if_next_level (Predicate pred)
+  {
+    typedef trie<FullKey, PayloadTraits, PolicyHook> trie;
+    for (typename trie::unordered_set::iterator subnode = children_.begin ();
+         subnode != children_.end ();
+         subnode++ )
+      {
+        if (pred (subnode->key ()))
+          {
+            return subnode->find ();
+          }
+      }
+
+    return 0;
+  }
+
   iterator end ()
   {
     return 0;