Multi-threaded version of Monte Carlo.

The Monte Carlo algorithm now works with several threads. Each thread plays a small number of games for each initial legal move and then checks if it needs to terminate. It is now possible to set a time limit on the execution of the algorithm.

Refactoring of a long standing issue was also performed on the naming of the coordinates on the board.