Assignment 8

It looks like you're trying to copy what you did in `algebraic_to_numeric()` and `is_legal_move()` in here. First rule of thumb is that if you find yourself reaching for copy/paste, you're probably heading down the wrong path. You can call `self.is_legal_move()` here OR call it as a *class method* which we discussed in the lecture (and the book).