Improved game object model

* Refactored GameCharacter to PlayerCharacter
* New GameCharacter interface implemented by PlayerCharacter and NPC
* New GameCharacterGroup interface, implemented by Tribe
* New Settlement class
* New Interface for objects that can have relationships, extended by
GameCharacter  and GameCharacterGroup.
Code style fixes