problems.utils: topological sort

Modificado el topogical_sort de internet para que  devuelva una lista
de problemas en orden topológico.
Funciona tanto para un nodo raiz como para varios.
Los nodos raiz NO son los que no tienen dependencias, sino los que no
tienen dependencias con NINGUNO de los problemas de la LISTA DE ENTRADA.