Added really fast checks to checkwin

Checks if proper number of moves is made, checks that both edges are
done and checks that each color has at least one move in each row/column
depending on color
Finished checkwin

Ending algorithm ended up being O(1) for checking for a win! Insertion
was increased to O(m) though, where m is the number of nodes that you
are linking into the current "color chain". Some specs might have
changed but I'm pretty sure it should be really easy to merge.
Merge branch 'master' into Threading