name: Optimization of Name implementation

Now, Name directly uses Block as underlying storage for name components
and name::Components (aka Name::Components) class is a helper wrapped on
top of Block class.

Change-Id: I15ca58cc6dba76dd02e973709b7b153c2613de51
refs: #1171
diff --git a/tools/tlvdump.cpp b/tools/tlvdump.cpp
index 5793a40..cf8cee1 100644
--- a/tools/tlvdump.cpp
+++ b/tools/tlvdump.cpp
@@ -85,7 +85,7 @@
   if (block.getAll().empty())
     {
       std::cout << " [[";
-      ndn::Name::toEscapedString(block.value(), block.value_size(), std::cout);
+      ndn::name::Component(block.value(), block.value_size()).toEscapedString(std::cout);
       std::cout<< "]]";
     }
   std::cout << std::endl;