Changed function used to scale between middle-game and end-game values. Current formula seems to make more sense if more material on the board than the initial position, and has very similar properties otherwise.
Moved to 32 bit score values (except for storing in hash table). This avoids potentially overflowing when scaling terms.
Added eval bonus for having the side to move.
Abstracted the search somewhat. Now the worker thread is handled by the search (it makes more sense here, especially if we later go SMP).
Big change to move ordering/sorting. Scores have been moved out of the moves themselves (so moves are now 32 bit). Moves are now scored by MVV-LVA and history tables. Also modified how we keep track of a postion's 'BaseEval'.
Cleaned up board.c/h slightly.