face+management: Removing ndnd::Controller and re-designing controllers

As of this commit, there is only one controller: nfd::Controller.
Legacy ndnd-tlv is no longer supported, but it is still possible to use
NFD FIB Management directly (RIB Management commands are used by
default).  To request direct FIB management, one needs to call
Face::setDirectFibManagement(true) or configure protocol variable in the
config file.

Instead of using virtual methods of the controllers, a special
setInterestFilterImpl method will select proper prefix registration
method.  In addition to that, setInterestFilterImpl will also remember
how exactly the prefix should be de-registered, including security
parameters.

Change-Id: If9d4c7e87f6d80b6cb766a4116e04e846a51272d
Refs: #1576, #1577
diff --git a/src/management/nfd-controller.cpp b/src/management/nfd-controller.cpp
index 661b08a..25800ff 100644
--- a/src/management/nfd-controller.cpp
+++ b/src/management/nfd-controller.cpp
@@ -69,45 +69,10 @@
     return;
   }
 
-  onSuccess(parameters);
+  if (static_cast<bool>(onSuccess))
+    onSuccess(parameters);
 }
 
 
-void
-Controller::selfRegisterPrefix(const Name& prefixToRegister,
-                               const SuccessCallback& onSuccess,
-                               const FailCallback& onFail,
-                               const Sign& sign)
-{
-  const uint32_t selfFaceId = 0;
-
-  ControlParameters parameters;
-  parameters.setName(prefixToRegister)
-            .setFaceId(selfFaceId);
-
-  this->start<FibAddNextHopCommand>(parameters,
-                                    bind(onSuccess),
-                                    bind(onFail, _2),
-                                    sign);
-}
-
-void
-Controller::selfDeregisterPrefix(const Name& prefixToDeRegister,
-                                 const SuccessCallback& onSuccess,
-                                 const FailCallback& onFail,
-                                 const Sign& sign)
-{
-  const uint32_t selfFaceId = 0;
-
-  ControlParameters parameters;
-  parameters.setName(prefixToDeRegister)
-            .setFaceId(selfFaceId);
-
-  this->start<FibRemoveNextHopCommand>(parameters,
-                                       bind(onSuccess),
-                                       bind(onFail, _2),
-                                       sign);
-}
-
 } // namespace nfd
 } // namespace ndn