Started rewrite of villager AI code

Simplifying pathfinding
Removing index number references from A* implementation - using
navigation objects instead
Implementing rather broken movement for AI
AI now pathfind correctly

Added a very simple dual raycast - villagers will now back away from
things they might run into.
Villagers no longer get stuck in walls and then fly off into the
distance because physics.
New bug: Villagers will now fall over when they can't pathfind out of an
area. Like, on their face.