Se implementa correctamente la curza cíclica

Además se define una función que verifica si dos individuos tienen las
letras en el mismo orden sin importar los espacios vacíos.
Se arregla el código de salida.
Se implementa la selección elitista con ranking

En vez de tomar la elite directamente de la población inicial, se
realiza una selección por ranking con "rmin = 0" y luego sobre esa
selección se toma la elite.
Avisa cuando se encuentra la solución por mutación
Se reserva la memoria necesaria al comienzo

De esa manera se evita hacer un malloc y free en cada generación y se
hacen los malloc necesarios al inicio y los free al final.
Arreglo de algunos problemas de manejo de memoria
Eliminación de argumento innecesario
Un poco de limpieza y poco más
Arreglo de liberación de memoria