refactor the way that the board finds diagonal lines
refactor how board finds the winner
refactor how the board handles accepting moves
fix how the CPU makes a move
add smart error handling for user input