Fixes discoveredChecks calculation causing infinite loop

Yet another bug found in the discoveredChecks code, again leading
quiscene into infinite loop. We have to make sure that the found
discovered check actually results in a check, ie if the rook would give
discovered check, and the piece moving stays on the same file/rank the
rook is still obscured by that piece.