Remove `rust` as a submodule

This removes the `tests/rust` submodule and instead moves to lazily cloning it
during tests. This helps work around the fact that git dependencies on `syn`
will pull in all submodules, and rust takes forever to clone. In short, the
intention here is to make git dependencies on `syn` bearable to avoid Cargo
auto-cloning submodules.
diff --git a/tests/test_precedence.rs b/tests/test_precedence.rs
index a5128fc..c4220d4 100644
--- a/tests/test_precedence.rs
+++ b/tests/test_precedence.rs
@@ -74,6 +74,7 @@
     use std::io::Read;
 
     common::check_min_stack();
+    common::clone_rust();
     let abort_after = common::abort_after();
     if abort_after == 0 {
         panic!("Skipping all precedence tests");