Added castling
Massive restructure to use ChessGame instead of board[][]