[impl] intersection
[test] add offending test for intersection
[fix] used other intersection solver
[test] fix wrong test
[refac] add A* method
[reface] replace shortest_path by A*
[fix] use vertex for indexing, not edge
[impl] use AStar, remove naive shortest_path
[tidy] indentation
[tidy] variable name
Merge branch 'astar'