Add PeekMessage/ConsumeMessage to SpanReader

We have log files with duplicate headers on the front of them.
Considering they have useful data, add a flag which enables support for
detecting and recovering.

Change-Id: I30a85c7023b71dfa8ecce63fb8288565d5a01737
Signed-off-by: Austin Schuh <austin.schuh@bluerivertech.com>
diff --git a/aos/events/logging/logfile_utils_test.cc b/aos/events/logging/logfile_utils_test.cc
index 90a716e..4973d02 100644
--- a/aos/events/logging/logfile_utils_test.cc
+++ b/aos/events/logging/logfile_utils_test.cc
@@ -45,8 +45,11 @@
   SpanReader reader(logfile);
 
   EXPECT_EQ(reader.filename(), logfile);
+  EXPECT_EQ(reader.PeekMessage(), m1.span());
+  EXPECT_EQ(reader.PeekMessage(), m1.span());
   EXPECT_EQ(reader.ReadMessage(), m1.span());
   EXPECT_EQ(reader.ReadMessage(), m2.span());
+  EXPECT_EQ(reader.PeekMessage(), absl::Span<const uint8_t>());
   EXPECT_EQ(reader.ReadMessage(), absl::Span<const uint8_t>());
 }