Correctly finds checkmate, does not consider captures yet.
Checkmate seems to work very slow though
finished checkmate logic