Add castling to legal moves
Implement castling