Modified HiveVillager to observe an added villager as well.
Refactor: Added a new base player class.

`Villager` is no longer the base class for entities that `GameEnvironment` is
going to handle. The `GamePlayer` class is observable.
Completed refactor of code properties into gameplayer.py.