Add Cargo Support

Add Cargo support to replace `make` and submodules.

@bvssvni Any idea on the possible name collision with [bvssvni/rust-snake](https://github.com/bvssvni/rust-snake)? This may become a problem in the future once Cargo begins implementing the central repository.