Update WPILib, roborio compilers, and CTRE Phoenix libraries

This borrows heavily from work that Ravago did to initially get this
stuff working.

Tested rudimentary functionality on a test bench, ensured that we could:
* Enable the robot.
* Read joystick and button values.
* Switch between auto and teleop modes.
* Read sensor values (encoder, absolute encoder, potentiometer).
* Read PDP values.
* Drive PWM motors.
* Drive CANivore motors.

Non-WPILib changes are made to accommodate the upgrade roborio
compiler's improved pickiness.

Merge commit '125aac16d9bf03c833ffa18de2f113a33758a4b8' into HEAD

Change-Id: I8648956fb7517b2d784bf58e0a236742af7a306a
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/aos/events/logging/logfile_utils.h b/aos/events/logging/logfile_utils.h
index e034bfe..7105b0c 100644
--- a/aos/events/logging/logfile_utils.h
+++ b/aos/events/logging/logfile_utils.h
@@ -438,6 +438,24 @@
 // Stores MessageHeader as a flat header and inline, aligned block of data.
 class UnpackedMessageHeader {
  public:
+  UnpackedMessageHeader(
+      uint32_t channel_index, monotonic_clock::time_point monotonic_sent_time,
+      realtime_clock::time_point realtime_sent_time, uint32_t queue_index,
+      std::optional<monotonic_clock::time_point> monotonic_remote_time,
+      std::optional<realtime_clock::time_point> realtime_remote_time,
+      std::optional<uint32_t> remote_queue_index,
+      monotonic_clock::time_point monotonic_timestamp_time,
+      bool has_monotonic_timestamp_time, absl::Span<const uint8_t> span)
+      : channel_index(channel_index),
+        monotonic_sent_time(monotonic_sent_time),
+        realtime_sent_time(realtime_sent_time),
+        queue_index(queue_index),
+        monotonic_remote_time(monotonic_remote_time),
+        realtime_remote_time(realtime_remote_time),
+        remote_queue_index(remote_queue_index),
+        monotonic_timestamp_time(monotonic_timestamp_time),
+        has_monotonic_timestamp_time(has_monotonic_timestamp_time),
+        span(span) {}
   UnpackedMessageHeader(const UnpackedMessageHeader &) = delete;
   UnpackedMessageHeader &operator=(const UnpackedMessageHeader &) = delete;