Converting former can*KingCastle to use requestMove instead.

But something failed. Must. Check.
In setting the moved flags, the type of move should be irrelevant.

But test is still failing. :C
Added extra checking before looking for a clear path in castle moves.

Apparently, the bug is because we add the additional "legal" castle moves as long
as there is no piece between the King and the Rook concerned. We should still
check if the pieces concerned is eligible for castling.
Debug clean-up.
Logic code clean-up for legalMovesFilter.

Since we are already checking for the moved flags before checking for path
existence, checking the moved flags in the outer conditional is unnecessary.