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

Change-Id: Ie3983d8b6f9929430efd8ada8d942e3f95755cd4
diff --git a/tools/nfdc/fib-module.hpp b/tools/nfdc/fib-module.hpp
index 6c33d64..a41c978 100644
--- a/tools/nfdc/fib-module.hpp
+++ b/tools/nfdc/fib-module.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2016,  Regents of the University of California,
+/*
+ * Copyright (c) 2014-2018,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -41,13 +41,13 @@
 class FibModule : public Module, noncopyable
 {
 public:
-  virtual void
+  void
   fetchStatus(Controller& controller,
-              const function<void()>& onSuccess,
+              const std::function<void()>& onSuccess,
               const Controller::DatasetFailCallback& onFailure,
               const CommandOptions& options) override;
 
-  virtual void
+  void
   formatStatusXml(std::ostream& os) const override;
 
   /** \brief format a single status item as XML
@@ -57,7 +57,7 @@
   void
   formatItemXml(std::ostream& os, const FibEntry& item) const;
 
-  virtual void
+  void
   formatStatusText(std::ostream& os) const override;
 
   /** \brief format a single status item as text