Implemented Dijkstra's shortest path finding algorithm

Dijkstra's algorithm is now implemented using a priority
queue. Also set up a method to output the shortest
paths to all other nodes.