api: Major API change.  OnInterest/OnData callbacks now use just references, not shared pointers

If shared pointer is necessary, it can be obtained using
.shared_from_this() on Interest or Data object.

This commit also corrects all internal uses of expressInterest/setIntersetFilter.

Change-Id: I20207a5789fd189902f2c6e3827260b6b27a2514
diff --git a/src/detail/pending-interest.hpp b/src/detail/pending-interest.hpp
index 85acb23..b53dc1f 100644
--- a/src/detail/pending-interest.hpp
+++ b/src/detail/pending-interest.hpp
@@ -16,8 +16,8 @@
 
 class PendingInterest {
 public:
-  typedef function<void(const shared_ptr<const Interest>&, const shared_ptr<Data>&)> OnData;
-  typedef function<void(const shared_ptr<const Interest>&)> OnTimeout;
+  typedef function<void(const Interest&, Data&)> OnData;
+  typedef function<void(const Interest&)> OnTimeout;
 
   /**
    * Create a new PitEntry and set the timeoutTime_ based on the current time and the interest lifetime.
@@ -71,7 +71,7 @@
   callTimeout()
   {
     if (onTimeout_) {
-      onTimeout_(interest_);
+      onTimeout_(*interest_);
     }
   }