limits: Introducing modularity for Interest limits

Now ndn::Limits object can be aggregated on a face/FIB entry. A
forwarding strategy module is responsible in creating an appropriate
implementation of the Interest limits module.
diff --git a/model/fib/ndn-fib-entry.h b/model/fib/ndn-fib-entry.h
index c8072f4..272d801 100644
--- a/model/fib/ndn-fib-entry.h
+++ b/model/fib/ndn-fib-entry.h
@@ -165,7 +165,7 @@
  * \brief Structure for FIB table entry, holding indexed list of
  *        available faces and their respective metrics
  */
-class Entry : public SimpleRefCount<Entry>
+class Entry : public Object
 {
 public:
   class NoFaces {}; ///< @brief Exception class for the case when FIB entry is not found
@@ -178,7 +178,6 @@
   : m_prefix (prefix)
   , m_needsProbing (false)
   {
-    m_limits = CreateObject<Limits> ();
   }
   
   /**
@@ -231,15 +230,6 @@
     m_faces.erase (face);
   }
 
-  /**
-   * @brief Get reference to limits object
-   */
-  Limits &
-  GetLimits ()
-  {
-    return *m_limits;
-  }
-    
 private:
   friend std::ostream& operator<< (std::ostream& os, const Entry &entry);
 
@@ -248,8 +238,6 @@
   FaceMetricContainer::type m_faces; ///< \brief Indexed list of faces
 
   bool m_needsProbing;      ///< \brief flag indicating that probing should be performed
-
-  Ptr<Limits> m_limits;
 };
 
 std::ostream& operator<< (std::ostream& os, const Entry &entry);