Checkpoint.  Some changes in forwarding strategy API

Removing WillSendOutInterest and adding TrySendOutInterests, which
should be fully defined in child classes (or fully used from parent, but
not combined).
diff --git a/model/fw/per-fib-limits.h b/model/fw/per-fib-limits.h
index ddd23f3..3f23992 100644
--- a/model/fw/per-fib-limits.h
+++ b/model/fw/per-fib-limits.h
@@ -25,6 +25,7 @@
 #include "ns3/event-id.h"
 
 #include "fw-stats.h"
+#include "../../utils/ndn-pit-queue.h"
 
 namespace ns3 {
 namespace ndn {
@@ -52,29 +53,32 @@
   virtual void
   WillEraseTimedOutPendingInterest (Ptr<pit::Entry> pitEntry);
 
+  virtual void
+  RemoveFace (Ptr<Face> face);
+  
 protected:
   virtual bool
-  WillSendOutInterest (Ptr<Face> outFace,
-                       Ptr<const InterestHeader> header,
-                       Ptr<pit::Entry> pitEntry);
+  TrySendOutInterest (Ptr<Face> inFace,
+                      Ptr<Face> outFace,
+                      Ptr<const InterestHeader> header,
+                      Ptr<const Packet> origPacket,
+                      Ptr<pit::Entry> pitEntry);
   
   virtual void
   WillSatisfyPendingInterest (Ptr<Face> inFace,
                               Ptr<pit::Entry> pitEntry);
 
+private:
+  void
+  ProcessFromQueue ();
+  
   // from Object
   void
   DoDispose ();
-  
+    
 private:
-  void
-  DecayLimits ();
-  
-private:
-  EventId m_decayLimitsEvent;
-
-  double m_threshold;
-  double m_graceAcceptProbability;
+  typedef std::map< Ptr<Face>, PitQueue > PitQueueMap;
+  PitQueueMap m_pitQueues; // per-outgoing face pit queue
 };