Require SAFETY documents in front of every unsafe block.
Set MSRV version in clippy.toml to avoid lints that break the MSRV
Several fixes to make clippy happy
Ran cargo clippy --fix
Added some clippy exceptions
Added many SAFETY comments to unsafe blocks
Tested MIRAI static analyzer to find "unintentional panics"
added some debug-build overflow checks to satsify MIRAI
Currently, installing MIRAI takes way too long in CI so it is
disabled for now. Need to find a way to cache this (maybe a custom github action or docker container).