apps: Solving a serious bug #33 in ndn::ConsumerWindow

In certain cases, the number of in-flight packets was maintained in a
wrong way, creating inconsistencies and incorrect decision on when to
send out a new Interests.  That is, the number of in-flight
packets could be non-zero, while there were no outstanding packets at all.

Thanks to Cheng Yi for the bug discovery
diff --git a/apps/ndn-consumer.h b/apps/ndn-consumer.h
index b748c2a..7dd4cdc 100644
--- a/apps/ndn-consumer.h
+++ b/apps/ndn-consumer.h
@@ -80,6 +80,16 @@
   void
   SendPacket ();
 
+  /**
+   * @brief An event that is fired just before an Interest packet is actually send out (send is inevitable)
+   *
+   * The reason for "before" even is that in certain cases (when it is possible to satisfy from the local cache),
+   * the send call will immediately return data, and if "after" even was used, this after would be called after
+   * all processing of incoming data, potentially producing unexpected results.
+   */
+  virtual void
+  WillSendOutInterest (uint32_t sequenceNumber);
+  
 protected:
   // from App
   virtual void