Started a minimax implementation. It needs a board which doesn't try and draw on every move, as we really don't want to see every move that the AI considers.
Improved the AI to fix a concurrency issue. It now crashes when it hits a pawn promotion case, which will be interesting to fix.
Small improvements, hit an issue with checkmate not working.
Merge branch 'master' into AIv2
More fixes for the minimax method, still hits an exception. Currently tries to call checkLine() to somewhere off the board.
Merge branch 'master' into AIv2
Identified an error with minimax; pieces need to be cloned along with their board.
Implemented clone methods for all pieces, which are needed in order to use complex AI routines.
Fixed piece cloning to also clone cords, and fixed board cloning to update all pieces with the new board.
Fixed a few errors with the AI, still not functional.
Fixed cloning, the AI currently manages to achieve a board with no moves.
Merge remote-tracking branch 'origin/AIv2' into AIv2

Conflicts:
	src/BasicChess/BasicBoard.java
	src/ai/MinimaxAI.java
	src/pieces/ChessPiece.java
	src/pieces/EmptyPiece.java
The AI now makes a move, but sometimes it is invalid. Also, graphical glitch (player piece doesn't move while the AI is thinking.
Refactored AI, now given a board when getBestMove() is called.
Merge branch 'master' into AIv2
Fixed Minimax AI, now works.
Merge pull request #9 from HJohnson-/AIv2

AIv2