A* implementation with minor problems, reverse method for path class and some performance tweaks.