Make enough_material_to_checkmate functional
Make enough_material_to_checkmate functional

That is, using a functional programming style.  This may be overly
functional , though. Surprisingly, this has the sane speed as the loop
version despite needing to iterate over the Board squares multiple times.
Perhaps all the continues in the old version cause the loss of any time
saved by only going through the board once.

MarkZH/Genetic_Chess,MarkZH/Genetic_Chess,MarkZH/Genetic_Chess,MarkZH/Genetic_Chess,MarkZH/Genetic_Chess