Implement UART serialization code to/from the cameras

Also fix a few things in the SPI serialization code I noticed while
reusing the pattern.

Change-Id: I645775b4c9ea1265025957e50b4d03f4932582f8
diff --git a/aos/containers/sized_array.h b/aos/containers/sized_array.h
index 0c13ecc..6d4209a 100644
--- a/aos/containers/sized_array.h
+++ b/aos/containers/sized_array.h
@@ -109,6 +109,12 @@
     --size_;
   }
 
+  // These allow access to the underlying storage. The data here may be outside
+  // the current logical extents of the container.
+  const array &backing_array() const { return array_; }
+  array *mutable_backing_array() { return &array_; }
+  void set_size(size_t size) { size_ = size; }
+
  private:
   void check_index(size_t i) const {
     if (i >= size_) {
diff --git a/aos/time/time.cc b/aos/time/time.cc
index 06f4b12..29b2956 100644
--- a/aos/time/time.cc
+++ b/aos/time/time.cc
@@ -135,6 +135,7 @@
 }  // namespace time
 
 constexpr monotonic_clock::time_point monotonic_clock::min_time;
+constexpr realtime_clock::time_point realtime_clock::min_time;
 
 monotonic_clock::time_point monotonic_clock::now() noexcept {
 #ifdef __linux__