Migrate to C++17 and refactor

Change-Id: I53407266939258990a1c3a9363c3ebe9ea113fd2
diff --git a/src/redirection/redirection-param.cpp b/src/redirection/redirection-param.cpp
index d74d105..1ce9517 100644
--- a/src/redirection/redirection-param.cpp
+++ b/src/redirection/redirection-param.cpp
@@ -19,18 +19,19 @@
  */
 
 #include "redirection-param.hpp"
+
 #include <boost/algorithm/string.hpp>
 
 namespace ndncert {
 
-NDNCERT_REGISTER_POLICY_FACTORY(RedirectionParam, "param");
+NDNCERT_REGISTER_REDIRECTION_POLICY(RedirectionParam, "param");
 
 RedirectionParam::RedirectionParam(const std::string& format)
-  : RedirectionPolicy(format)
 {
   if (format.empty()) {
     return;
   }
+
   std::vector<std::string> strs;
   boost::split(strs,format,boost::is_any_of("&"));
   for (const auto& s : strs) {
@@ -47,7 +48,7 @@
 {
   for (const auto& p : m_format) {
     bool found = false;
-    for (auto it = params.find(p.first); it != params.end() && it->first == p.first; it ++) {
+    for (auto it = params.find(p.first); it != params.end() && it->first == p.first; ++it) {
       if (it->second == p.second) {
         found = true;
         break;