Abstracted the CityManager class, created enemy and neutral cities

The CityManager's functionality has been moved to the abstract City
class, and it has two sibling classes, EnemyCity and NeutralCity.
EnemyCity will build in the enemy zone, and the neutral city handles all
buildings/scenery that shouldn't be attackable.