PyNDN: A lot of fixes and API unification

There is actually a very strange/interesting bug with callback
Python/C++/Python callback mechanism.  Needed to add a nasty addition
(potential memory leak and performance degradation) to eliminate
segfaults.
diff --git a/PyNDN/Interest.py b/PyNDN/Interest.py
index b4b5b9a..d831bb5 100644
--- a/PyNDN/Interest.py
+++ b/PyNDN/Interest.py
@@ -43,10 +43,10 @@
 
     @staticmethod
     def fromWire (wire):
-        return Interest (interest = ns.ndnSIM.ndn.Wire.ToInterest (wire))
+        return Interest (interest = ns.ndnSIM.ndn.Wire.ToInterestStr (wire))
 
     def toWire (self):
-        return ns.ndnSIM.ndn.Wire.FromInterest (self._interest)
+        return ns.ndnSIM.ndn.Wire.FromInterestStr (self._interest)
 
     def __getattr__ (self, name):
         if name == "_interest":