updated rust along an unsafe version

Cleaner rust version from: http://www.reddit.com/r/programming/comments/2pvf68/armv7_vs_x8664_pathfinding_benchmark_of_c_d_go/cn0johm

I also added an unsafe version, which avoids bounds checking on every access to the visited vector.

Note: basically unsafe for rust is the same safety as C/C++/others.