Rust syntax fixes
Avoid name collision with Rust 'self' keyword
Add Rust test crate file
Add build script
Add .gitignore
Eliminate argument-type overloading
Prepare to translate Java types to Rust types
More changes to get closer to Rust code