build: Always build in C++11 mode.

This commit also includes update of websocketpp submodule, as the
previous version has compilation problems on OSX with XCode 6.1

Change-Id: I8c9670d0026d840838d77e610e50679ee5ede7a5
Refs: #1930, #2082
diff --git a/tools/ndn-autoconfig.cpp b/tools/ndn-autoconfig.cpp
index 71bca2f..87fd884 100644
--- a/tools/ndn-autoconfig.cpp
+++ b/tools/ndn-autoconfig.cpp
@@ -103,8 +103,8 @@
         finalBlockId.toSegment() > currentSegment)
       {
         m_face.expressInterest(data.getName().getPrefix(-1).appendSegment(currentSegment+1),
-                               bind(&NdnAutoconfig::fetchSegments, this, _2, buffer, onDone),
-                               bind(&NdnAutoconfig::discoverHubStage2, this, "Timeout"));
+                               ndn::bind(&NdnAutoconfig::fetchSegments, this, _2, buffer, onDone),
+                               ndn::bind(&NdnAutoconfig::discoverHubStage2, this, "Timeout"));
       }
     else
       {
@@ -122,9 +122,9 @@
     interest.setMustBeFresh(true);
 
     m_face.expressInterest(interest,
-                           bind(&NdnAutoconfig::fetchSegments, this, _2, buffer,
-                                &NdnAutoconfig::discoverHubStage1_registerHubDiscoveryPrefix),
-                           bind(&NdnAutoconfig::discoverHubStage2, this, "Timeout"));
+                           ndn::bind(&NdnAutoconfig::fetchSegments, this, _2, buffer,
+                                     &NdnAutoconfig::discoverHubStage1_registerHubDiscoveryPrefix),
+                           ndn::bind(&NdnAutoconfig::discoverHubStage2, this, "Timeout"));
   }
 
   void
diff --git a/tools/ndn-tlv-peek.cpp b/tools/ndn-tlv-peek.cpp
index dc70175..dca57e0 100644
--- a/tools/ndn-tlv-peek.cpp
+++ b/tools/ndn-tlv-peek.cpp
@@ -27,15 +27,19 @@
 
 #include "version.hpp"
 
-#include <boost/asio.hpp>
+#include <boost/noncopyable.hpp>
 
 #include <ndn-cxx/face.hpp>
 
 namespace ndntlvpeek {
 
-class NdnTlvPeek
+using ndn::_1;
+using ndn::_2;
+
+class NdnTlvPeek : boost::noncopyable
 {
 public:
+  explicit
   NdnTlvPeek(char* programName)
     : m_programName(programName)
     , m_mustBeFresh(false)
@@ -180,10 +184,8 @@
     try
       {
         m_face.expressInterest(createInterestPacket(),
-                               ndn::func_lib::bind(&NdnTlvPeek::onData,
-                                                   this, _1, _2),
-                               ndn::func_lib::bind(&NdnTlvPeek::onTimeout,
-                                                   this, _1));
+                               bind(&NdnTlvPeek::onData, this, _1, _2),
+                               bind(&NdnTlvPeek::onTimeout, this, _1));
         if (m_timeout < ndn::time::milliseconds::zero())
           {
             if (m_interestLifetime < ndn::time::milliseconds::zero())
diff --git a/tools/ndn-tlv-poke.cpp b/tools/ndn-tlv-poke.cpp
index 3f5a3b6..31ec561 100644
--- a/tools/ndn-tlv-poke.cpp
+++ b/tools/ndn-tlv-poke.cpp
@@ -27,18 +27,19 @@
 
 #include "version.hpp"
 
-#include <boost/utility.hpp>
+#include <boost/noncopyable.hpp>
 
 #include <ndn-cxx/face.hpp>
 #include <ndn-cxx/security/key-chain.hpp>
 
 namespace ndntlvpoke {
 
+using ndn::_1;
+using ndn::_2;
+
 class NdnTlvPoke : boost::noncopyable
 {
-
 public:
-
   explicit
   NdnTlvPoke(char* programName)
     : m_programName(programName)
@@ -186,11 +187,9 @@
         else
           {
             m_face.setInterestFilter(m_prefixName,
-                                     ndn::bind(&NdnTlvPoke::onInterest,
-                                               this, _1, _2, dataPacket),
+                                     bind(&NdnTlvPoke::onInterest, this, _1, _2, dataPacket),
                                      ndn::RegisterPrefixSuccessCallback(),
-                                     ndn::bind(&NdnTlvPoke::onRegisterFailed,
-                                               this, _1, _2));
+                                     bind(&NdnTlvPoke::onRegisterFailed, this, _1, _2));
           }
         if (m_timeout < ndn::time::milliseconds::zero())
           m_face.processEvents(getDefaultTimeout());
diff --git a/tools/nfdc.cpp b/tools/nfdc.cpp
index 123cdb5..4ef98bf 100644
--- a/tools/nfdc.cpp
+++ b/tools/nfdc.cpp
@@ -70,6 +70,10 @@
 
 namespace nfdc {
 
+using ndn::bind;
+using ndn::_1;
+using ndn::_2;
+
 const ndn::time::milliseconds Nfdc::DEFAULT_EXPIRATION_PERIOD = ndn::time::milliseconds::max();
 const uint64_t Nfdc::DEFAULT_COST = 0;
 
@@ -186,9 +190,11 @@
   parameters.setUri(canonicalUri.toString());
 
   m_controller.start<FaceCreateCommand>(parameters,
-                                        bind(&Nfdc::fibAddNextHop, this, _1),
+                                        [this](const ControlParameters& result) {
+                                          fibAddNextHop(result);
+                                        },
                                         bind(&Nfdc::onError, this, _1, _2,
-                                             "Face creation failed"));
+                                                  "Face creation failed"));
 }
 
 void
@@ -273,7 +279,9 @@
   parameters.setUri(canonicalUri.toString());
 
   m_controller.start<FaceCreateCommand>(parameters,
-                                        bind(&Nfdc::ribRegisterPrefix, this, _1),
+                                        [this](const ControlParameters& result) {
+                                          ribRegisterPrefix(result);
+                                        },
                                         bind(&Nfdc::onError, this, _1, _2,
                                              "Face creation failed"));
 }
@@ -389,7 +397,9 @@
   parameters.setUri(canonicalUri.toString());
 
   m_controller.start<FaceCreateCommand>(parameters,
-                                        bind(&Nfdc::faceDestroy, this, _1),
+                                        [this](const ControlParameters& result) {
+                                          faceDestroy(result);
+                                        },
                                         bind(&Nfdc::onError, this, _1, _2,
                                              "Face destroy failed"));
 }