This commit contains all the changes to the recently-imported
Rust code to make it work with our Rust library and pass our
linting tests.
We rename lib.rs to mod.rs to reflect it being a sub-module instead
of a full library. We add this module to our lib.rs. We add various
package dependencies to Cargo.toml. We make a handful of Rust code
updates to reflect the new symbol locations. Finally, we add a
parser.rs containing the boilerplate for generating a config file
parser from the spec.pest file.
As part of adding the dependencies, some versions changed slightly
from the upstream Cargo.toml, as we already had referenced a more
modern crate version.
I wonder about this dependency. It uses 4 usize for every slice of bytes, and adds some overhead, albeit minimal, that I am trying to justify.
Are we looking at reaping the benefits down the line? The crate itself is good quality, maintained by the Tokio people, so I'm not *too* worried about it being pre-1.0, but do we need this?