Create unit tests for that check static strings match between Rust and C
In the protover crate, we list all supported protocol versions. And then we do it again in C.
This makes it likely that they will get out of sync. Also, passing static strings from Rust to C is error-prone (#25127 (moved)).
Let's put all the static strings in C, and access them from Rust. Yes, that might mean we pass them from C to Rust and back to C again. Oh well.