Convert to a Cargo project

Update for latest rust as well.