Have the Rust snapshot directory include the Rust version and hash.

That way, whenever rust-snapshot-hash changes, mach will look for
the Rust snapshot in a different directory and re-boostrap as needed.

However, older rust version will be left behind never cleaned up.
This is good for git-bisect, but not for disk space:
the current snapshot is 618 MB.

In the future, we may want `mach clean` or some other comment
to remove unused Rust snapshots.

CC #3388