mgmt: support rib/announce control command

This commit adds support for a new control command type,
RibAnnounceCommand. A new command format class is also added,
ApplicationParametersCommandFormat, to support encoding the
request information in the ApplicationParameters element of
the interest instead of using ControlParameters.

Refs: #4650
Change-Id: I351d3852062a80349fb67d7f18db4c883551835c
diff --git a/tests/unit/mgmt/nfd/controller.t.cpp b/tests/unit/mgmt/nfd/controller.t.cpp
index 8be9d23..9fad4ec 100644
--- a/tests/unit/mgmt/nfd/controller.t.cpp
+++ b/tests/unit/mgmt/nfd/controller.t.cpp
@@ -140,11 +140,15 @@
 
 BOOST_AUTO_TEST_CASE(InvalidRequest)
 {
-  ControlParameters parameters;
-  parameters.setName("ndn:/should-not-have-this-field");
+  ControlParameters p1;
+  p1.setName("/should-not-have-this-field");
   // Uri is missing
+  BOOST_CHECK_THROW(controller.start<FaceCreateCommand>(p1, succeedCallback, commandFailCallback),
+                    ArgumentError);
 
-  BOOST_CHECK_THROW(controller.start<FaceCreateCommand>(parameters, succeedCallback, commandFailCallback),
+  RibAnnounceParameters p2;
+  // PrefixAnnouncement not signed
+  BOOST_CHECK_THROW(controller.start<RibAnnounceCommand>(p2, succeedCallback, commandFailCallback),
                     ArgumentError);
 }