fixed error with vertices instead of edges;
added some constantness to EdgeKey
added A* path search in graph