Initial commit
Finds all legal moves concurrently
working with board history
Can now play computer with long notation
Huge speed improvements, got rid of copy.deepcopy
Some refactoring of the AI and Board classes
Some work on using trees to find the best move
Basic implementation of move tree generation. Some refactoring of AI.py.
Optimization of the AI and some refactoring of the board and piece classes
Added MoveNode class and InputParser. MoveNode is used for  constructing the move tree, and InputParser is used to convert human input (ex. Qd4) into a move
Work with parsing notation, algebraic and long form. Also some work on the AI, new logic in the Pawn class, and a bug fix in the Coordinate class.
AI changes, fixed bug with depths above 2. Improved algorithm to test if move is legal. Added pawn capture moves.
Very small refactoring of the Pawn class
Implemented logic for checkmate and stalemate moves. Changed how getting the current side of the board is implemented to be more efficient. Added functionality to InputParser to get the notation of a move. Added a depth attribute to MoveNode. Changed pawn logic to fix bug with pawns skipping the piece in front of them.
Trimming old unused code.
Implemented castling, en pessant logic mostly done. Also changed how a piece keeps track of whether it has moved already (for castling, two-space pawn advances, etc.)
Fixed bug with last commit, syntax error in Board.py
Heavy refactoring of the board class, got rid of the boardArray attribute in favor of an array of pieces, slightly more efficient and less code required for each move made, undone, etc. in exchange for a slight performance hit because the logic was optimized for a 2d array representing a board instead of a flat list of pieces. Also implemented en pessant fully, and castling works but notation is not yet supported for either kingside or queenside castling.
Changed Move class to include an optional parameter, which piece to take. Decreases calls to Board.pieceAtPosition(), which was expensive with how often it was called. 30% speed improvement using an AI with a depth of 3.
Added support for pawn promotions.