[Job, Task Manager] Remove 'faction' from these. Remove extern JobManager.
[Village] Rename 'myFaction' to just 'faction'. Change inheritance to composition of Resource Manager. Add a Job Manager.

Not sure this idea of 'balanceJobs()' is correct. The effect is that it will try to keep all the resource available quantities the same, but this is probably incorrect.
We probably want a lot more wood than i.e. iron. Gather tasks should simply be driven by what buildings are needed, which in turn is probably driven by an external script.
[Village Manager] Introduce new class, "VillageManager", which will run the Enemy CPU Player AI, and all the Village AI.
[Main] Incorporate VillageManager. [makefile] Compile village manager.
[SDL Entity] Add 'default' case to entity-type switch.