build: Fix compilation on Ubuntu platform and add work-around for ndn-cxx regression

Note that on Ubuntu 12.04, either boost libraries or compiler needs to be upgraded.

Change-Id: I33f1089f961f99abf3d1803bf833e76ff7fb528d
Refs: #2379, #2380, #2382, #2381, #2383
diff --git a/model/ndn-header.cpp b/model/ndn-header.cpp
index 2807c29..929b001 100644
--- a/model/ndn-header.cpp
+++ b/model/ndn-header.cpp
@@ -82,14 +82,14 @@
 
 template<class Pkt>
 void
-PacketHeader<Pkt>::Serialize(Buffer::Iterator start) const
+PacketHeader<Pkt>::Serialize(ns3::Buffer::Iterator start) const
 {
   start.Write(m_packet->wireEncode().wire(), m_packet->wireEncode().size());
 }
 
 class Ns3BufferIteratorSource : public io::source {
 public:
-  Ns3BufferIteratorSource(Buffer::Iterator& is)
+  Ns3BufferIteratorSource(ns3::Buffer::Iterator& is)
     : m_is(is)
   {
   }
@@ -110,12 +110,12 @@
   }
 
 private:
-  Buffer::Iterator& m_is;
+  ns3::Buffer::Iterator& m_is;
 };
 
 template<class Pkt>
 uint32_t
-PacketHeader<Pkt>::Deserialize(Buffer::Iterator start)
+PacketHeader<Pkt>::Deserialize(ns3::Buffer::Iterator start)
 {
   auto packet = make_shared<Pkt>();
   io::stream<Ns3BufferIteratorSource> is(start);