Reexport all of the AOS essentials in a single `aos` crate

This improves the usability of aos for Rust as it allows for
clearly delineated modules and a better IDE workflow since
pulling one dependency will bring all the utilities one generally
needs.

Change-Id: I5d39d9510cee4b3867077ce46a4a45041192f3ee
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
diff --git a/aos/testing/BUILD b/aos/testing/BUILD
index 02459e4..eb9e2b2 100644
--- a/aos/testing/BUILD
+++ b/aos/testing/BUILD
@@ -1,3 +1,5 @@
+load("//tools/rust:defs.bzl", "rust_library")
+
 cc_library(
     name = "googletest",
     testonly = True,
@@ -131,3 +133,17 @@
         "@com_google_absl//absl/strings",
     ],
 )
+
+rust_library(
+    name = "aos_rs",
+    testonly = True,
+    srcs = ["aos.rs"],
+    crate_name = "aos",
+    gen_docs = False,
+    gen_doctests = False,
+    visibility = ["//visibility:public"],
+    deps = [
+        "//aos:aos_rs",
+        "//aos:test_init_rs",
+    ],
+)
diff --git a/aos/testing/aos.rs b/aos/testing/aos.rs
new file mode 100644
index 0000000..6c7795d
--- /dev/null
+++ b/aos/testing/aos.rs
@@ -0,0 +1,7 @@
+// Reexport all of the [`aos`] crate
+pub use aos::*;
+
+/// Utilities for testing an AOS application.
+pub mod testing {
+    pub use aos_test_init as init;
+}