Added general routine GreedyCriterionSearch; switch MinimumSpanningTree function to use this routine; fixed memory leak
in AddEdge function.
Implemented Dijkstra graph algorithm using previously implemented GreedyCriterionSearch routine (this led to some routine refactoring);
Now each vertex stores only outgoing edges (can be switched later if needed); changes and Dijsktra algo were tested manually.