Cambios en clases base, cambios en nombre clase Vector por Edge para evitar confusion con clase en std::vector, agregada logica de Dijkstra de caminos mas cortos, eliminadas clases no necesarias