Sudoku/Rust: bring up-to-date to current Rust nightly

 * Perform only a single variable binding per let-statement
 * Use range(<typed int>) instead of <int type>::range()
 * Use 'for x in iterator' iso 'for iterator |x|'
 * Cast array indices to uint
 * Use String instead of ~str
 * Use new functions for accessing ranges (.iter() usually)
 * Remove redundant 'pub' declaration on struct impl
 * Prefer .enumerate() to get both the index and the indexed value
Sudoku/Rust: no forced function-inlining

It doesn't improve performance, in fact it appears to degrade
performance. Feeding sudoku.txt through the same process 2500 times:

 * With inlining:    1195.38s user 0.75s system 99% cpu 19:57.86 total
 * Without inlining: 1158.72s user 0.09s system 99% cpu 19:19.66 total

Running it on the entire [Minimum Sudoku][1] set yields similar results:

 * With inlining:    63.55s user 0.46s system 99% cpu 1:04.57 total
 * Without inlining: 61.83s user 0.52s system 99% cpu 1:02.71 total

[1]: http://staffhome.ecm.uwa.edu.au/~00013890/sudokumin.php