Add rust_protobuf module.

This adds a new SourceProvider module type to handle protobuf code
generation. See the new test for an example of how to call this.

Bug: 143953733
Test: New soong tests pass.
Test: Replacing genrules in crosvm with rust_protobuf modules.
Change-Id: Ie3117129cde37b8736bc18ee09bf5cde27c01c34
diff --git a/rust/Android.bp b/rust/Android.bp
index ad2bbd8..8618207 100644
--- a/rust/Android.bp
+++ b/rust/Android.bp
@@ -19,6 +19,7 @@
         "prebuilt.go",
         "proc_macro.go",
         "project_json.go",
+        "protobuf.go",
         "rust.go",
         "strip.go",
         "source_provider.go",
@@ -34,6 +35,7 @@
         "coverage_test.go",
         "library_test.go",
         "project_json_test.go",
+        "protobuf_test.go",
         "rust_test.go",
         "source_provider_test.go",
         "test_test.go",