Update for latest Rust

+ Update lints to new names
+ Expand build shell script to a cargo build script
+ Switch to `RawPtr::null()`