Search for multiple goal states. Chooses the best

There may be many states that respect the conditions in the goal
statement. The agent now looks for a few of them and then chooses the
nearest to its starting position