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/utils/tracers/ndn-cs-tracer.hpp b/utils/tracers/ndn-cs-tracer.hpp
index 939df9b..d14d005 100644
--- a/utils/tracers/ndn-cs-tracer.hpp
+++ b/utils/tracers/ndn-cs-tracer.hpp
@@ -22,6 +22,8 @@
 #ifndef CCNX_CS_TRACER_H
 #define CCNX_CS_TRACER_H
 
+#include "ns3/ndnSIM/model/ndn-common.hpp"
+
 #include "ns3/ptr.h"
 #include "ns3/simple-ref-count.h"
 #include <ns3/nstime.h>
@@ -40,12 +42,6 @@
 
 namespace ndn {
 
-class Interest;
-class Data;
-
-typedef Interest InterestHeader;
-typedef Data DataHeader;
-
 namespace cs {
 
 /// @cond include_hidden
@@ -180,10 +176,10 @@
   Connect();
 
   void
-  CacheHits(Ptr<const Interest>, Ptr<const Data>);
+  CacheHits(shared_ptr<const Interest>, shared_ptr<const Data>);
 
   void
-  CacheMisses(Ptr<const Interest>);
+  CacheMisses(shared_ptr<const Interest>);
 
 private:
   void