Updated interface PathDefiner and PathFinder. BiDirectionalPathFinder
now works.
When BiDirectionalPathFinder combines the two paths, sometimes a bad
path was created. This is now fixed.
Made changes to improve code reusability. Mainly in the
BiDirectionalPathFinder class.