Remove a lot of stuff (almost all of AI_city in fact!) that actually belongs to class Map.
Mutators City::set_race() and City::set_city_type().
New function points_at_exact_distance() returns the set of points which are at a given distance from a given origin.
New Kingdom placement, with a lot of Kingdom functions to support it.  We start by placing a capital city, then all existing kingdoms take turns placing a single duchy seat anywhere within a certain range of its existing cities (capital and previously-placed duchy seats).  Once that's done, each duchy seat generates a number of cities around it, and the territory for each kingdom is expanded a few times (again, each kingdom does it once then lets the other kingdoms take their turn).
New variables Race_datum::cluster_min and Race_datum::cluster_max define how many cities are in each duchy.
Update Race_datum constructor, fix a segfault in Race_datum::get_city_name().
Macro for setting the duchy cluster size variables.  Update a lot of the name generation lists.
World_map now stores a pointer to the city on each tile (or NULL if there is no city).  Functions World_map::set_city() and World_map::get_city() set/get the city.
Add city name to the world map legend.  Don't do any highlighting (beyond the blue cursor) for cities; it makes them stand out less.  Functions to support tracking of cities.