add dijkstra shortest-path algorithm + tests