Fix Dijkstra:

1) There was an endless loop in path construction if we insert an edge where
destination and source are the same

2) When returning the path we do not need to include the position our
hero is currently at because he will simply stand on that place