handles user input and raises relevant errors
put errors into their own file
active_player now stores symbol and players is a hash
game will correclty check for a winner and considers a blocked player to
have lost if it is their move.
renamed @active_player to @active_player_color to be more accurate
fixed bug where board.dup wasn't passing piece.promoted
player must make all possible jumps to be considered a legal move