Upgrade Rust

Merge upstream, fixed makefile, and backport a few fixes.