Updated code to build with rustc master (still some warnings and non-ideal port).

rustc 0.9-pre (1b12dca 2013-12-11 12:56:22 -0800)
Removed uses of globs.
Oh a prior commit actually removed all managed boxes too.
Got rid of a few more warnings.
Removed dead code.
Removed the unreadable_move condition.

New code is actually not much worse than the previous code.

The main "ugliness" is that I now have to pass along the retry handler
through parse_opt_move onto parse_move, but even that might be
avoidable perhaps by turning the parsing functions into methods and
then putting the handlers into the receiver object so they get passed
along cleanly.
Refactored code so that parsing code is attached to a MoveReader struct.
Moved retry handler into the MoveParser struct.
Added an parse attempt count to see what extending protocol is like.

Had to make MoveReader mutable to support this, which in turn required
getting rid of aliasing of the MoveReader, but that is not a bad
thing.
Added use of attempt count.

And trimmed input string in attempt error output, which helps clean it
up slightly (mostly by cutting out the newline at the end).
Removed no_input_move_provided condition.
Removed invalid_move condition.
Revised input loop to create input buffer once and to not clone the Game state.