Move MSRV to cargo.toml and remove build.rs
This reworks MSRV detection logic, using the rust-version field in Cargo manifest. It allows dropping build.rs and removing the version_check build-dependency.
Ref: https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field
/cc @ejmahler for review.
The solution with build.rs was created to allow different msrv for different features and architectures. This isn't needed right now, but will be again once this get completed for example: https://github.com/ejmahler/RustFFT/pull/144
I think this is a good idea. I knew about this, but I thought it was added much more recently, so I didn't think we could support it.
There doesn't seem to be much urgency to get fcma stabilized, so this will help improve the library in the meantime. But honestly, even once we get fcma support in, I'm not excited about the idea of "split MSRV" where some sets of features require one MSRV and others require another MSRV, so I think I'd prefer to just upgrade the entire MSRV for fcma.
This will certainly create an inconvenience for users on x86_64 who won't benefit from the addition of fcma, but we can use the increased MSRV to make all sorts of other improvements - for example, target feature 1.1 will let us remove the unsafe keyword from many functions, which will benefit everyone.