Make a DurationInSeconds function

Also, run clang-format on all the files I changed because I am too lazy
to figure out how to call clang-format on just the lines I changed.

Change-Id: I071c6f81dced533a0a269f25a258348132a7056a
diff --git a/frc971/control_loops/c2d.h b/frc971/control_loops/c2d.h
index b6f4198..50315e6 100644
--- a/frc971/control_loops/c2d.h
+++ b/frc971/control_loops/c2d.h
@@ -4,6 +4,7 @@
 #include <chrono>
 
 #include <Eigen/Dense>
+#include "aos/time/time.h"
 // We need to include MatrixFunctions for the matrix exponential.
 #include "unsupported/Eigen/MatrixFunctions"
 
@@ -23,11 +24,9 @@
       M_state_continuous;
   M_state_continuous.setZero();
   M_state_continuous.template block<num_states, num_states>(0, 0) =
-      A_continuous *
-      ::std::chrono::duration_cast<::std::chrono::duration<Scalar>>(dt).count();
+      A_continuous * ::aos::time::TypedDurationInSeconds<Scalar>(dt);
   M_state_continuous.template block<num_states, num_inputs>(0, num_states) =
-      B_continuous *
-      ::std::chrono::duration_cast<::std::chrono::duration<Scalar>>(dt).count();
+      B_continuous * ::aos::time::TypedDurationInSeconds<Scalar>(dt);
 
   Eigen::Matrix<Scalar, num_states + num_inputs, num_states + num_inputs>
       M_state = M_state_continuous.exp();
@@ -52,9 +51,7 @@
       A_continuous.transpose();
 
   Eigen::Matrix<Scalar, 2 * num_states, 2 *num_states> phi =
-      (M_gain *
-       ::std::chrono::duration_cast<::std::chrono::duration<Scalar>>(dt)
-           .count()).exp();
+      (M_gain * ::aos::time::TypedDurationInSeconds<Scalar>(dt)).exp();
 
   // Phi12 = phi[0:num_states, num_states:2*num_states]
   // Phi22 = phi[num_states:2*num_states,
@@ -88,8 +85,7 @@
     Eigen::Matrix<Scalar, num_states, num_states> *A_d) {
   Eigen::Matrix<Scalar, num_states, num_states> Qtemp =
       (Q_continuous + Q_continuous.transpose()) / static_cast<Scalar>(2.0);
-  Scalar dt_d =
-      ::std::chrono::duration_cast<::std::chrono::duration<Scalar>>(dt).count();
+  Scalar dt_d = ::aos::time::TypedDurationInSeconds<Scalar>(dt);
   Eigen::Matrix<Scalar, num_states, num_states> last_term = Qtemp;
   double last_coeff = dt_d;
   const Eigen::Matrix<Scalar, num_states, num_states> At =
@@ -112,8 +108,7 @@
     Atn *= At;
     phi22 += last_coeff * Atn;
   }
-  Eigen::Matrix<Scalar, num_states, num_states> phi22t =
-    phi22.transpose();
+  Eigen::Matrix<Scalar, num_states, num_states> phi22t = phi22.transpose();
 
   Qtemp = phi22t * phi12;
   *Q_d = (Qtemp + Qtemp.transpose()) / static_cast<Scalar>(2.0);