Finished initial uart code, it compiles.

The next task is writting unit tests for it.

Also fixed some minor issues in Brian's code.
Finally, fixed a minor problem in download_externals.sh
that was causing things not to build properly.
diff --git a/bbb_cape/src/bbb/crc.cc b/bbb_cape/src/bbb/crc.cc
index b770f37..60e665a 100644
--- a/bbb_cape/src/bbb/crc.cc
+++ b/bbb_cape/src/bbb/crc.cc
@@ -1,4 +1,4 @@
-#include "bbb/crc.h"
+#include "crc.h"
 
 #include "aos/common/once.h"
 
@@ -27,7 +27,7 @@
 }  // namespace
 
 uint32_t CalculateChecksum(uint8_t *data, size_t length) {
-  static ::aos::once<const uint32_t> table_once(GenerateTable);
+  static ::aos::Once<const uint32_t> table_once(GenerateTable);
   const uint32_t *const table = table_once.Get();
 
   uint32_t r = 0xFFFFFFFF;