ndnSIM-v2: Initial implementation

- Name, name::Components, Interest, Data now use ndn-cxx
- Ptr is replaced with shared_ptr for ndn-cxx structures

Credits for the change also to Mickey Sweat, Wentao Shang, and Alex Afanasyev
diff --git a/model/ndn-global-router.hpp b/model/ndn-global-router.hpp
index f680db7..f742656 100644
--- a/model/ndn-global-router.hpp
+++ b/model/ndn-global-router.hpp
@@ -21,6 +21,8 @@
 #ifndef NDN_GLOBAL_ROUTER_H
 #define NDN_GLOBAL_ROUTER_H
 
+#include "ns3/ndnSIM/model/ndn-common.hpp"
+
 #include "ns3/object.h"
 #include "ns3/ptr.h"
 
@@ -35,9 +37,6 @@
 
 class L3Protocol;
 class Face;
-class Name;
-
-typedef Name NameComponents;
 
 /**
  * @ingroup ndn
@@ -56,7 +55,7 @@
   /**
    * @brief List of locally exported prefixes
    */
-  typedef std::list<Ptr<Name>> LocalPrefixList;
+  typedef std::list<shared_ptr<Name>> LocalPrefixList;
 
   /**
    * \brief Interface ID
@@ -88,7 +87,7 @@
    * @param prefix Prefix
    */
   void
-  AddLocalPrefix(Ptr<Name> prefix);
+  AddLocalPrefix(shared_ptr<Name> prefix);
 
   /**
    * @brief Add edge to the node