Add navigation/move logic for agent

This gets us to the bottleneck at 2,1 where we need to choose NOT to reverse direction when we hit the smelly tile (the second time, after exhausting all other options)