Use more C++17 features

Mainly structured bindings, inline variables, and class template
argument deduction, plus many more smaller things.

Change-Id: I810d17e0adb470426e4e30c898e03b3140ad052f
diff --git a/daemon/fw/retx-suppression-exponential.hpp b/daemon/fw/retx-suppression-exponential.hpp
index 3c3be60..41d5bdb 100644
--- a/daemon/fw/retx-suppression-exponential.hpp
+++ b/daemon/fw/retx-suppression-exponential.hpp
@@ -26,7 +26,6 @@
 #ifndef NFD_DAEMON_FW_RETX_SUPPRESSION_EXPONENTIAL_HPP
 #define NFD_DAEMON_FW_RETX_SUPPRESSION_EXPONENTIAL_HPP
 
-#include "algorithm.hpp"
 #include "retx-suppression.hpp"
 #include "strategy.hpp"
 
@@ -83,9 +82,9 @@
   }
 
 public:
-  static const Duration DEFAULT_INITIAL_INTERVAL;
-  static const Duration DEFAULT_MAX_INTERVAL;
-  static const float DEFAULT_MULTIPLIER;
+  static constexpr Duration DEFAULT_INITIAL_INTERVAL = 10_ms;
+  static constexpr Duration DEFAULT_MAX_INTERVAL = 250_ms;
+  static constexpr float DEFAULT_MULTIPLIER = 2.0f;
 
 NFD_PUBLIC_WITH_TESTS_ELSE_PRIVATE:
   const Duration m_initialInterval;