handle castling in update_board()