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.
I would prefer that the executable be called `snake`.  `path` wouldn't be needed in this case.