Pass the evaluation function as a pointer

This allows different evaluation functions to play against each other.

I also removed non-hashtable search.