Implements GS algorithm

The algorithm relies on a new method getVisibility in Environment.
It makes use of a custom comparator implmented in its own class.

When there aren't adjacent unvisited cells, the agent uses CFS to find
an unvisited cell.