Actualizadas las cabeceras.

Se ha añadido el prefijo phub_ a todas las cabeceras para poder identificarlas
facilmente cuendo se este programando otra cosa.
Actualidados los nombres de los métodos

Se han actualizado los nombres de los métodos de acuerdo al cambio
realizado en las cabeceras, es decir,  se ha añadido la extensión
phub_ a cada uno de los métodos.
Implementación del metodo PHUB#ruleta
Borrado el prototipo phub_operador_seleccion
Actualizado PHUB#torneo

Ahora el método PHUB#torneo comprueba que le pasen una lista de soluciones
vacía. En cuyo caso lanzara una excepción TypeError indicando que no
puede hacerse un torneo sin participantes.
Actualizado PHUB#torneo_injusto

Ahora el método PHUB#torneo_injusto comprueba que la lista de participantes
iniciales sea distinta de cero. Si esta restricción no se cumple lanzara
una excepción de tipo TypeError indicando que no puede realizarse un torneo
sin participantes.
Actualizado el método PHUB#ruleta

Ahora el método PHUB#ruleta comprueba que la lista de participantes no sea
nula y en caso de serlo lanza una excepción de tipo TypeError indicando
que no hay participantes
Se ha añadido de nuevo el prototipo para PHUB#seleccion
Se ha implementado el método PHUB#seleccion
Añadido el metodo PHUB#order_by
Se ha renombrado el metodo PHUB#order_by_fitness a PHUB#sort_by_fitness

Además del cambio de nombre se ha hecho el metodo privado.
Se ha escrito el metodo PHUB#sort_by_fitness! y PHUB#sort_by_fitness
Iniciada la implementación de PHUB#cruzar
Implementado el método PHUB#cruce
Se ha añadido un fichero de test para la clase PHUB
Añadido la condicion de inicialización a la descripcion del test
Añadida la descripción para PHUB#random_number
Añadidas las descripciones sobre el método PHUB#separar_nodos
Añadida descripción del PHUB#torneo
Añadida la especificación completa para PHUB#torneo