core: drop std::function and ndn::Exclude from common.hpp, add ndn::optional

Change-Id: Ie3983d8b6f9929430efd8ada8d942e3f95755cd4
diff --git a/daemon/face/channel.hpp b/daemon/face/channel.hpp
index cdb7078..5b870fe 100644
--- a/daemon/face/channel.hpp
+++ b/daemon/face/channel.hpp
@@ -37,11 +37,11 @@
 /** \brief Prototype for the callback that is invoked when a face is created
  *         (in response to an incoming connection or after a connection is established)
  */
-using FaceCreatedCallback = function<void(const shared_ptr<Face>& face)>;
+using FaceCreatedCallback = std::function<void(const shared_ptr<Face>& face)>;
 
 /** \brief Prototype for the callback that is invoked when a face fails to be created
  */
-using FaceCreationFailedCallback = function<void(uint32_t status, const std::string& reason)>;
+using FaceCreationFailedCallback = std::function<void(uint32_t status, const std::string& reason)>;
 
 /** \brief represent a channel that communicates on a local endpoint
  *  \sa FaceSystem
@@ -98,8 +98,8 @@
 
 public:
   ndn::nfd::FacePersistency persistency;
-  ndn::optional<time::nanoseconds> baseCongestionMarkingInterval;
-  ndn::optional<uint64_t> defaultCongestionThreshold;
+  optional<time::nanoseconds> baseCongestionMarkingInterval;
+  optional<uint64_t> defaultCongestionThreshold;
   bool wantLocalFields;
   bool wantLpReliability;
   boost::logic::tribool wantCongestionMarking;
diff --git a/daemon/face/protocol-factory.hpp b/daemon/face/protocol-factory.hpp
index fe3f1f8..74dbde7 100644
--- a/daemon/face/protocol-factory.hpp
+++ b/daemon/face/protocol-factory.hpp
@@ -137,7 +137,7 @@
   struct CreateFaceRequest
   {
     FaceUri remoteUri;
-    ndn::optional<FaceUri> localUri;
+    optional<FaceUri> localUri;
     FaceParams params;
   };
 
diff --git a/daemon/face/udp-factory.cpp b/daemon/face/udp-factory.cpp
index c392b51..377d3b1 100644
--- a/daemon/face/udp-factory.cpp
+++ b/daemon/face/udp-factory.cpp
@@ -363,7 +363,7 @@
   return face;
 }
 
-static ndn::optional<ip::address>
+static optional<ip::address>
 pickAddress(const net::NetworkInterface& netif, net::AddressFamily af)
 {
   for (const auto& na : netif.getNetworkAddresses()) {
@@ -372,7 +372,7 @@
       return na.getIp();
     }
   }
-  return ndn::nullopt;
+  return nullopt;
 }
 
 std::vector<shared_ptr<Face>>