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-l3-tracer.hpp b/utils/tracers/ndn-l3-tracer.hpp
index d3534fa..f916bd4 100644
--- a/utils/tracers/ndn-l3-tracer.hpp
+++ b/utils/tracers/ndn-l3-tracer.hpp
@@ -21,6 +21,8 @@
 #ifndef NDN_L3_TRACER_H
 #define NDN_L3_TRACER_H
 
+#include "ns3/ndnSIM/model/ndn-common.hpp"
+
 #include "ns3/ptr.h"
 #include "ns3/simple-ref-count.h"
 
@@ -42,9 +44,6 @@
 
 class Face;
 
-class Interest;
-class Data;
-
 /**
  * @ingroup ndn-tracers
  * @brief Base class for network-layer (incoming/outgoing Interests and Data) tracing of NDN stack
@@ -89,31 +88,31 @@
   Connect();
 
   virtual void
-  OutInterests(Ptr<const Interest>, Ptr<const Face>) = 0;
+  OutInterests(shared_ptr<const Interest>, Ptr<const Face>) = 0;
 
   virtual void
-  InInterests(Ptr<const Interest>, Ptr<const Face>) = 0;
+  InInterests(shared_ptr<const Interest>, Ptr<const Face>) = 0;
 
   virtual void
-  DropInterests(Ptr<const Interest>, Ptr<const Face>) = 0;
+  DropInterests(shared_ptr<const Interest>, Ptr<const Face>) = 0;
 
   virtual void
-  OutNacks(Ptr<const Interest>, Ptr<const Face>) = 0;
+  OutNacks(shared_ptr<const Interest>, Ptr<const Face>) = 0;
 
   virtual void
-  InNacks(Ptr<const Interest>, Ptr<const Face>) = 0;
+  InNacks(shared_ptr<const Interest>, Ptr<const Face>) = 0;
 
   virtual void
-  DropNacks(Ptr<const Interest>, Ptr<const Face>) = 0;
+  DropNacks(shared_ptr<const Interest>, Ptr<const Face>) = 0;
 
   virtual void
-  OutData(Ptr<const Data>, bool fromCache, Ptr<const Face>) = 0;
+  OutData(shared_ptr<const Data>, bool fromCache, Ptr<const Face>) = 0;
 
   virtual void
-  InData(Ptr<const Data>, Ptr<const Face>) = 0;
+  InData(shared_ptr<const Data>, Ptr<const Face>) = 0;
 
   virtual void
-  DropData(Ptr<const Data>, Ptr<const Face>) = 0;
+  DropData(shared_ptr<const Data>, Ptr<const Face>) = 0;
 
   virtual void
   SatisfiedInterests(Ptr<const pit::Entry>) = 0;