Remove unused tuple in MultiNodeNoncausalOffsetEstimator

Boilerplate from the past, so lets just remove it.

Change-Id: Ifce3c5825f32431cf7cfa1e1a0529f5983249bd9
diff --git a/aos/network/multinode_timestamp_filter.cc b/aos/network/multinode_timestamp_filter.cc
index 4b36287..2e02eec 100644
--- a/aos/network/multinode_timestamp_filter.cc
+++ b/aos/network/multinode_timestamp_filter.cc
@@ -59,17 +59,14 @@
 void MultiNodeNoncausalOffsetEstimator::Start(
     SimulatedEventLoopFactory *factory) {
   for (std::pair<const std::tuple<const Node *, const Node *>,
-                 std::tuple<message_bridge::NoncausalOffsetEstimator>> &filter :
-       filters_) {
+                 message_bridge::NoncausalOffsetEstimator> &filter : filters_) {
     const Node *const node_a = std::get<0>(filter.first);
     const Node *const node_b = std::get<1>(filter.first);
 
-    std::get<0>(filter.second)
-        .SetFirstFwdTime(
-            factory->GetNodeEventLoopFactory(node_a)->monotonic_now());
-    std::get<0>(filter.second)
-        .SetFirstRevTime(
-            factory->GetNodeEventLoopFactory(node_b)->monotonic_now());
+    filter.second.SetFirstFwdTime(
+        factory->GetNodeEventLoopFactory(node_a)->monotonic_now());
+    filter.second.SetFirstRevTime(
+        factory->GetNodeEventLoopFactory(node_b)->monotonic_now());
   }
 }
 
@@ -89,24 +86,23 @@
   auto it = filters_.find(tuple);
 
   if (it == filters_.end()) {
-    auto &x =
-        filters_
-            .insert(std::make_pair(
-                tuple, std::make_tuple(message_bridge::NoncausalOffsetEstimator(
-                           node_a, node_b))))
-            .first->second;
+    auto &x = filters_
+                  .insert(std::make_pair(
+                      tuple,
+                      message_bridge::NoncausalOffsetEstimator(node_a, node_b)))
+                  .first->second;
     if (FLAGS_timestamps_to_csv) {
-      std::get<0>(x).SetFwdCsvFileName(absl::StrCat(
-          "/tmp/timestamp_noncausal_", node_a->name()->string_view(), "_",
-          node_b->name()->string_view()));
-      std::get<0>(x).SetRevCsvFileName(absl::StrCat(
-          "/tmp/timestamp_noncausal_", node_b->name()->string_view(), "_",
-          node_a->name()->string_view()));
+      x.SetFwdCsvFileName(absl::StrCat("/tmp/timestamp_noncausal_",
+                                       node_a->name()->string_view(), "_",
+                                       node_b->name()->string_view()));
+      x.SetRevCsvFileName(absl::StrCat("/tmp/timestamp_noncausal_",
+                                       node_b->name()->string_view(), "_",
+                                       node_a->name()->string_view()));
     }
 
-    return &std::get<0>(x);
+    return &x;
   } else {
-    return &std::get<0>(it->second);
+    return &it->second;
   }
 }
 
@@ -120,10 +116,9 @@
   }
 
   for (std::pair<const std::tuple<const Node *, const Node *>,
-                 std::tuple<message_bridge::NoncausalOffsetEstimator>> &filter :
+                 message_bridge::NoncausalOffsetEstimator> &filter :
        filters_) {
-    message_bridge::NoncausalOffsetEstimator *estimator =
-        &std::get<0>(filter.second);
+    message_bridge::NoncausalOffsetEstimator *estimator = &filter.second;
 
     if (estimator->a_timestamps().size() == 0 &&
         estimator->b_timestamps().size() == 0) {
@@ -282,8 +277,8 @@
     // Now, add the a - b -> sample elements.
     size_t i = 1;
     for (std::pair<const std::tuple<const Node *, const Node *>,
-                   std::tuple<message_bridge::NoncausalOffsetEstimator>>
-             &filter : filters_) {
+                   message_bridge::NoncausalOffsetEstimator> &filter :
+         filters_) {
       const Node *const node_a = std::get<0>(filter.first);
       const Node *const node_b = std::get<1>(filter.first);
 
@@ -298,12 +293,12 @@
       map_matrix_(i, node_b_index) = mpq_class(1);
 
       // -> sample
-      std::get<0>(filter.second)
+      filter.second
           .set_slope_pointer(&slope_matrix_(i, node_a_index));
-      std::get<0>(filter.second).set_offset_pointer(&offset_matrix_(i, 0));
+      filter.second.set_offset_pointer(&offset_matrix_(i, 0));
 
       valid_matrix_(i) = false;
-      std::get<0>(filter.second).set_valid_pointer(&valid_matrix_(i));
+      filter.second.set_valid_pointer(&valid_matrix_(i));
 
       ++i;
     }
diff --git a/aos/network/multinode_timestamp_filter.h b/aos/network/multinode_timestamp_filter.h
index 0954448..d5fdadd 100644
--- a/aos/network/multinode_timestamp_filter.h
+++ b/aos/network/multinode_timestamp_filter.h
@@ -85,8 +85,7 @@
 
   // List of filters for a connection.  The pointer to the first node will be
   // less than the second node.
-  std::map<std::tuple<const Node *, const Node *>,
-           std::tuple<NoncausalOffsetEstimator>>
+  std::map<std::tuple<const Node *, const Node *>, NoncausalOffsetEstimator>
       filters_;
 
   // We have 2 types of equations to do a least squares regression over to fully