Use symmetry in the board hash function

The function generates an additional hash by iterating over the columns
in reverse order and returns the smallest number.

Surprisingly, after a few moves the size of the hashtable and the number
of evaluated boards is about the same as when using the old hashing
function, but the time used sometimes halves.

I do not know how this is possible, also profiling does not give any
clue. Maybe some compiler optimization magic?

The program seems to play decent, but I have yet to find a way to
measure its strength reliably.