Added visited set to global_planner A* 

This change was made to prevent loops, to improve speed, and for correctness.

(Thanks to Sachi Hemachandra.)
I have seen this behavior when using the grid path extractor with the A* expansion. (A number of times it didn't return a path but got stuck in a loop eating up all the memory on the machine).