Add Bazel rules for Rust flatbuffers

This required exposing things as a provider to properly build up the
file structure, so I refactored the other languages instead of
duplicating the functionality.

logger_test's sha1s changed because we're generating the .fbs files in
the host configuration now so their paths are different.

Change-Id: Idd60c6360efacfa1e5a5b8658a9d5770f37b02c6
Signed-off-by: Brian Silverman <bsilver16384@gmail.com>
diff --git a/third_party/flatbuffers/reflection/BUILD.bazel b/third_party/flatbuffers/reflection/BUILD.bazel
index aa421db..9b08734 100644
--- a/third_party/flatbuffers/reflection/BUILD.bazel
+++ b/third_party/flatbuffers/reflection/BUILD.bazel
@@ -1,4 +1,4 @@
-load("//:build_defs.bzl", "flatbuffer_ts_library")
+load("//:build_defs.bzl", "flatbuffer_rust_library", "flatbuffer_ts_library")
 
 filegroup(
     name = "reflection_fbs_schema",
@@ -13,3 +13,11 @@
     include_reflection = False,
     visibility = ["//visibility:public"],
 )
+
+flatbuffer_rust_library(
+    name = "reflection_rust_fbs",
+    srcs = ["reflection.fbs"],
+    crate_name = "flatbuffers_reflection",
+    include_reflection = False,
+    visibility = ["//visibility:public"],
+)