net+util: fix build with gcc-7

Introduce an NDN_CXX_FALLTHROUGH macro to simplify
annotating switch cases that fall through.

Update code-style to recommend using NDN_CXX_FALLTHROUGH.

Change-Id: I80e4ff8d16a09f6ec9343f0480bc57ae0fcd1be4
diff --git a/src/util/backports-optional.hpp b/src/util/backports-optional.hpp
index 29862b1..8f1f498 100644
--- a/src/util/backports-optional.hpp
+++ b/src/util/backports-optional.hpp
@@ -42,17 +42,15 @@
 #ifndef NDN_UTIL_BACKPORTS_OPTIONAL_HPP
 #define NDN_UTIL_BACKPORTS_OPTIONAL_HPP
 
-#include "../common.hpp"
+#include "backports.hpp"
 
-#ifdef __has_include
-#  if (__cplusplus > 201402L) && __has_include(<optional>)
-#    include <optional>
-#    define NDN_CXX_HAVE_STD_OPTIONAL
-#  elif (__cplusplus > 201103L) && __has_include(<experimental/optional>)
-#    include <experimental/optional>
-#    if __cpp_lib_experimental_optional >= 201411
-#      define NDN_CXX_HAVE_EXPERIMENTAL_OPTIONAL
-#    endif
+#if (__cplusplus > 201402L) && NDN_CXX_HAS_INCLUDE(<optional>)
+#  include <optional>
+#  define NDN_CXX_HAVE_STD_OPTIONAL
+#elif (__cplusplus > 201103L) && NDN_CXX_HAS_INCLUDE(<experimental/optional>)
+#  include <experimental/optional>
+#  if __cpp_lib_experimental_optional >= 201411
+#    define NDN_CXX_HAVE_EXPERIMENTAL_OPTIONAL
 #  endif
 #endif