Changed getBestDirection

Total re-write of the getBestDirection method, because the original was pretty terrible.

Monsters now don't just stop if they're in the same row or column as the player