third_party/rust: initialize, add mdbook

As we want to use [mdbook](https://github.com/rust-lang/mdBook) to build
documentation, we now have to pull it into the monorepo, alongside
support for Rust in general.

Testing plan: bazel run //third_party/rust:cargo_bin_mdbook. The CI
should also pick this up now.

Change-Id: I6cf5d02d926bb0de61a5c882828accd35f3a1076
Reviewed-on: https://review.monogon.dev/c/monogon/+/201
Reviewed-by: Leopold Schabel <leo@nexantic.com>
diff --git a/third_party/rust/cargo/remote/BUILD.warp-0.2.5.bazel b/third_party/rust/cargo/remote/BUILD.warp-0.2.5.bazel
new file mode 100644
index 0000000..d04710f
--- /dev/null
+++ b/third_party/rust/cargo/remote/BUILD.warp-0.2.5.bazel
@@ -0,0 +1,154 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:rust.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT"
+])
+
+# Generated Targets
+
+# Unsupported target "autoreload" with type "example" omitted
+
+# Unsupported target "body" with type "example" omitted
+
+# Unsupported target "compression" with type "example" omitted
+
+# Unsupported target "dir" with type "example" omitted
+
+# Unsupported target "dyn_reply" with type "example" omitted
+
+# Unsupported target "file" with type "example" omitted
+
+# Unsupported target "futures" with type "example" omitted
+
+# Unsupported target "handlebars_template" with type "example" omitted
+
+# Unsupported target "headers" with type "example" omitted
+
+# Unsupported target "hello" with type "example" omitted
+
+# Unsupported target "query_string" with type "example" omitted
+
+# Unsupported target "rejections" with type "example" omitted
+
+# Unsupported target "returning" with type "example" omitted
+
+# Unsupported target "routing" with type "example" omitted
+
+# Unsupported target "sse" with type "example" omitted
+
+# Unsupported target "sse_chat" with type "example" omitted
+
+# Unsupported target "tls" with type "example" omitted
+
+# Unsupported target "todos" with type "example" omitted
+
+# Unsupported target "tracing" with type "example" omitted
+
+# Unsupported target "unix_socket" with type "example" omitted
+
+# Unsupported target "websockets" with type "example" omitted
+
+# Unsupported target "websockets_chat" with type "example" omitted
+
+# Unsupported target "wrapping" with type "example" omitted
+
+rust_library(
+    name = "warp",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "tokio-tungstenite",
+        "websocket",
+    ],
+    crate_root = "src/lib.rs",
+    crate_type = "lib",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "manual",
+    ],
+    version = "0.2.5",
+    # buildifier: leave-alone
+    deps = [
+        "@raze__bytes__0_5_6//:bytes",
+        "@raze__futures__0_3_15//:futures",
+        "@raze__headers__0_3_4//:headers",
+        "@raze__http__0_2_4//:http",
+        "@raze__hyper__0_13_10//:hyper",
+        "@raze__log__0_4_14//:log",
+        "@raze__mime__0_3_16//:mime",
+        "@raze__mime_guess__2_0_3//:mime_guess",
+        "@raze__pin_project__0_4_28//:pin_project",
+        "@raze__scoped_tls__1_0_0//:scoped_tls",
+        "@raze__serde__1_0_126//:serde",
+        "@raze__serde_json__1_0_64//:serde_json",
+        "@raze__serde_urlencoded__0_6_1//:serde_urlencoded",
+        "@raze__tokio__0_2_25//:tokio",
+        "@raze__tokio_tungstenite__0_11_0//:tokio_tungstenite",
+        "@raze__tower_service__0_3_1//:tower_service",
+        "@raze__tracing__0_1_26//:tracing",
+        "@raze__tracing_futures__0_2_5//:tracing_futures",
+        "@raze__urlencoding__1_3_3//:urlencoding",
+    ],
+)
+
+# Unsupported target "addr" with type "test" omitted
+
+# Unsupported target "body" with type "test" omitted
+
+# Unsupported target "cookie" with type "test" omitted
+
+# Unsupported target "cors" with type "test" omitted
+
+# Unsupported target "ext" with type "test" omitted
+
+# Unsupported target "filter" with type "test" omitted
+
+# Unsupported target "fs" with type "test" omitted
+
+# Unsupported target "header" with type "test" omitted
+
+# Unsupported target "host" with type "test" omitted
+
+# Unsupported target "method" with type "test" omitted
+
+# Unsupported target "multipart" with type "test" omitted
+
+# Unsupported target "path" with type "test" omitted
+
+# Unsupported target "query" with type "test" omitted
+
+# Unsupported target "redirect" with type "test" omitted
+
+# Unsupported target "reply_with" with type "test" omitted
+
+# Unsupported target "tracing" with type "test" omitted
+
+# Unsupported target "ws" with type "test" omitted