Add logic for creating and placing village entities and abstracted village components. Added my own fix for logic that allowed villages to be placed in trees at edge.