Optimizing the evaluation function.

I'm not caring about what new tile we place, just how many options we
have. This time I do actually get 30% performance increase.
Optimizing the removal of duplicate turns.

Now done in O(N log N) by invoking std::sort and std::unique instead of
the O(n^2) algorithm I had previously. Does change the behaviour of the
AI a little though, since equally rated moves now show up in a different
order, based on te address of the from-tile in memory.