Version 1.2: A new MoveIterator, Chess960 and lots of UCI improvements
New MoveIterator that generates only legal moves with a check flag set Added support for Chess960 (Fischer Random Chess) Implemented UCI Ponder New replace strategy for the TT, taking into account the entry depth and the generation difference In the TT in QS, store the entries with checks generated with depth 1 and entries without checks with depth 0 Four killer move slots Set default razoring margin to 400 Fix the futility in QS and set the default futility in QS to 80 Remove the null move margin and improve the null move reduction calculation Remove the recapture extension New time management strategy adding a "panic time" when the search in the root node fails low by a margin of 100 Do not penalize pinned pawns in the evaluators, multiply the hung pieces bonus by the number of hung pieces, and pawn center opening corrections Fixed a bug multiplying the opening/ending values in the evaluators by negative factors Generate piece-square values in different classes Fixed an important bug in the SWAP algorithm for the SSE evaluation Now it uses 1" for the WinAtChess tests