Transition to simpler trigger interface

Using this simpler interface allows us to simplify the unpacking code,
and remove the use of a variant containing a variant, which has caused
bugs in the past.  Splitting these apart allows us to replicate the
Redfish interfaces with less code.

Tested:

Discrete and Numeric triggers both create correctly
```
curl  -k --user "root:0penBmc" -H "Content-Type: application/json" -X POST https://192.168.7.2/redfish/v1/TelemetryService/Triggers -d '{"Name": "eds", "NumericThresholds": {"LowerCritical": {"Reading": 1.0, "Activation": "Increasing", "DwellTime": "P1S"}}}'
curl  -k --user "root:0penBmc" -H "Content-Type: application/json" -X POST https://192.168.7.2/redfish/v1/TelemetryService/Triggers -d '{"Name": "eds", "DiscreteTriggers": [{"DwellTime": "P1S", "Severity": "OK", "Value": "1234"}]}

```

Change-Id: If898e2285f90f78b22e47cc670e4206ba4368665
Signed-off-by: Ed Tanous <etanous@nvidia.com>
diff --git a/include/dbus_utility.hpp b/include/dbus_utility.hpp
index 50d75c5..89cda89 100644
--- a/include/dbus_utility.hpp
+++ b/include/dbus_utility.hpp
@@ -71,13 +71,8 @@
       std::vector<std::tuple<sdbusplus::message::object_path, std::string>>,
       std::string, std::string, uint64_t>>,
     std::vector<std::pair<sdbusplus::message::object_path, std::string>>,
-
-    // TODO This needs looked at.  It's used in the trigger system, but a
-    // variant of a variant seems really odd
-    std::variant<
-                 std::vector<std::tuple<std::string, uint64_t, std::string, double>>,
-                 std::vector<std::tuple<std::string, std::string, uint64_t, std::string>>
-                >
+    std::vector<std::tuple<std::string, uint64_t, std::string, double>>,
+    std::vector<std::tuple<std::string, std::string, uint64_t, std::string>>
  >;
 
 // clang-format on
diff --git a/include/openbmc_dbus_rest.hpp b/include/openbmc_dbus_rest.hpp
index c35a2be..f165c5a 100644
--- a/include/openbmc_dbus_rest.hpp
+++ b/include/openbmc_dbus_rest.hpp
@@ -66,19 +66,6 @@
 #include <variant>
 #include <vector>
 
-namespace nlohmann
-{
-template <typename... Args>
-struct adl_serializer<std::variant<Args...>>
-{
-    // NOLINTNEXTLINE(readability-identifier-naming)
-    static void to_json(json& j, const std::variant<Args...>& args)
-    {
-        std::visit([&j](auto&& val) { j = val; }, args);
-    }
-};
-} // namespace nlohmann
-
 namespace crow
 {
 namespace openbmc_mapper