Added Dijkstra's algorithm to graph.py and cleaned up the graph
interface