Simplify pattern set processing and evaluation - move from a black/white evaluation to a mover/empty one.

I've also made some minor fixes to randomEvalGen.

BTW, there's no noticeable speed benefit. I mean, you're absolutely right that reducing the data size can reduce cache misses. "Problem" is that there weren't many cache misses to begin with.

In any case, it's worth it to simplify the code a little bit, and also to reduce the memory consumption slightly.

Also, I should say thank you for insisting on the evaluator test. It was remarkably helpful :).