Siempre se utiliza selección por ruleta

Hace la verificación de si la peor aptitud entra en un `unsigned long
int' dentro de la función de selección por ruleta para simplificar el
código.
Se omptimiza un poco la funcion iguales(..)
Arreglo de un bug muy grave (liberación de memoria)

Se hacía una llamada a break; antes que a free(...); y la memoria nunca
se liberaba.
Se mide el tiempo de ejecución de cada generación

Al final de las corridas si se especificó la opción -d se imprime por
cada generación el tiempo que duró en segundos, milisegundos y
nanosegundos.
Se adapta la mutación según la aptitud

Muta la cantidad de genes dependiendo de la aptitud redondeada. Ej.: si
la aptitud es 473 se elijen 3 genes para mutar, pero si es 874 se elijen
4 genes.
Implementación correcta de la selección por ruleta

Ahora cada individuo recibe la cantidad de ranuras proporcionales a su
aptitud. Se utilizan ranuras con decimales para que la elección sea más
precisa.
La cantidad de ranuras queda definida por
	10^(longitud de la aptitud más larga)