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/tools/nfdc/find-face.cpp b/tools/nfdc/find-face.cpp
index 05e7eec..2240433 100644
--- a/tools/nfdc/find-face.cpp
+++ b/tools/nfdc/find-face.cpp
@@ -114,10 +114,7 @@
     return uri;
   }
 
-  std::optional<FaceUri> result;
-  std::string error;
-  std::tie(result, error) = nfdc::canonize(m_ctx, uri);
-
+  auto [result, error] = nfdc::canonize(m_ctx, uri);
   if (result) {
     // Canonization succeeded
     return result;