Print out which queue was corrupted

When the redzone code catches corruption, it used to just fail with
little extra info on what went wrong.  Propegate that error up 1 layer
so we can crash with the channel name.

Change-Id: I6d7fbf808ca616abaf4d680abcf958c5d024829d
diff --git a/aos/ipc_lib/lockless_queue.h b/aos/ipc_lib/lockless_queue.h
index b71bd7f..a5de6cc 100644
--- a/aos/ipc_lib/lockless_queue.h
+++ b/aos/ipc_lib/lockless_queue.h
@@ -303,7 +303,7 @@
   // Note: calls to Data() are expensive enough that you should cache it.
   size_t size() const;
   void *Data();
-  void Send(size_t length,
+  bool Send(size_t length,
             aos::monotonic_clock::time_point monotonic_remote_time =
                 aos::monotonic_clock::min_time,
             aos::realtime_clock::time_point realtime_remote_time =
@@ -314,7 +314,7 @@
             uint32_t *queue_index = nullptr);
 
   // Sends up to length data.  Does not wakeup the target.
-  void Send(const char *data, size_t length,
+  bool Send(const char *data, size_t length,
             aos::monotonic_clock::time_point monotonic_remote_time =
                 aos::monotonic_clock::min_time,
             aos::realtime_clock::time_point realtime_remote_time =