util: backport C++17 std::any and std::variant

The backported implementations are taken from Martin Moene's any-lite
(commit a2ee2e1cc4a3fcfe42ab44c46a65467b76b58f25) and variant-lite
(commit ff251b02253ff28db49bb20a79200514d8267d87).

The bundled copy of optional-lite is updated to commit
9a370efe62e084729a171a407b017aa58dc954c1.

Change-Id: I4afe117e357c82d51002f96b083aed0ec5eeda35
diff --git a/COPYING.md b/COPYING.md
index b1ab63e..7b140e4 100644
--- a/COPYING.md
+++ b/COPYING.md
@@ -6,9 +6,15 @@
 - The Boost libraries are licensed under the
   [Boost Software License 1.0](https://www.boost.org/users/license.html)
 
+- any-lite by Martin Moene is licensed under the
+  [Boost Software License 1.0](https://github.com/martinmoene/any-lite/blob/master/LICENSE.txt)
+
 - optional-lite by Martin Moene is licensed under the
   [Boost Software License 1.0](https://github.com/martinmoene/optional-lite/blob/master/LICENSE.txt)
 
+- variant-lite by Martin Moene is licensed under the
+  [Boost Software License 1.0](https://github.com/martinmoene/variant-lite/blob/master/LICENSE.txt)
+
 - SQLite is in the [public domain](https://www.sqlite.org/copyright.html)
 
 - The waf build system is licensed under the terms of the