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/examples/consumer-with-timer.cpp b/examples/consumer-with-timer.cpp
index b8415d0..9af81da 100644
--- a/examples/consumer-with-timer.cpp
+++ b/examples/consumer-with-timer.cpp
@@ -10,24 +10,17 @@
 #include "face.hpp"
 #include "util/scheduler.hpp"
 
-#include <stdexcept>
-
-#if NDN_CPP_HAVE_CXX11
-// In the std library, the placeholders are in a different namespace than boost.
-using namespace ndn::func_lib::placeholders;
-#endif
-
 void
 onData(ndn::Face &face,
-       const ndn::ptr_lib::shared_ptr<const ndn::Interest> &interest, const ndn::ptr_lib::shared_ptr<ndn::Data> &data)
+       const ndn::Interest& interest, ndn::Data& data)
 {
-  std::cout << "I: " << interest->toUri() << std::endl;
-  std::cout << "D: " << data->getName().toUri() << std::endl;
+  std::cout << "I: " << interest.toUri() << std::endl;
+  std::cout << "D: " << data.getName().toUri() << std::endl;
 }
 
 void
 onTimeout(ndn::Face &face,
-          const ndn::ptr_lib::shared_ptr<const ndn::Interest> &interest)
+          const ndn::Interest& interest)
 {
   std::cout << "Timeout" << std::endl;
 }