tried to implement checkmate. Tried to make it so that you only get legal moves
that get you out of check. Haven't tested any of this yet so that would be
a good thing to do in the morning