chess-pos-move: Really remove castling ability if rook has been moved.

This one was *very subtle.  Looking at the code, we already tried
to prevent this case, and it evenw orked for *some* instances.
The problem is that castling flags are boolean in the position
structure, chess-pos-can-castle determines the rook location
from the position if castling flag is true.  But we have
already moved the rook around in chess-pos-move before we
do the fixup stuff, so chess-pos-can-castle is just wrong
in some cases.  Fix is simple, call chess-pos-can-castle
before we modify the position, and use these values
later.  This fixes the remaining perft mixmatches.
chess-perft: Simplify en-passant checks.