Re-implement write path in Rust
The second half of rewriting the C extension in Rust, originally started in !83 (closed). This implements the methods used to insert / update new metrics values in the mapped file.
A subsequent MR will optionally expose this in Ruby.
Edited by Will Chandler (ex-GitLab)