Update farming notes to match the new method with less division.
New city roles, hunting and livestock.  City_role_datum now (optionally) has a required skill level (e.g. only races with farming skill >= 3 will build farming cities), and a target food percentage; the percentage of our required food that we try to produce (defaults to 90, farming/hunting/livestock cities use > 100).
Fix a == where it should be =.  Include skill requirements and food percentages.  Default constructor for City_role_datum.  New city roles, hunting and livestock.
Move livestock from Player_city to City (AI cities can now specialize in livestock, and will use real numbers to generate resources; plus, they will eventually be able to import/export livestock).
In Player_city::do_hunt(), check if our prey's pack_chance is more than 0 before rolling against it.  This speeds hunting up slightly.
Call init_city_roles() in init_all_data().
In Map_tile::get_max_food_output(), return 0 if we can't build farms; also, don't divide our return value by 100 to avoid rounding errors.
New function, Map_tile::get_max_hunting_output(), estimates the food we could get from hunting.
Move Map_type to its own header file.  New functions for Map_type_datum, get_max_hunting_output() and can_build().
Move Map_type to its own header file; race.h includes this instead of map.h to avoid circular dependencies.
New functions for AI_city: add_farms(), add_hunting_camps(), add_pastures(), add_mines() and add_sawmills() all "add" areas; in reality, they just remove a map tile from availability and add the appropriate resources.  AI_city::add_resource_production() and AI_city::add_mineral_production() make adding new production easier.  AI_city also tracks free peasants (which are required to add new areas via the above functions) and its mineral production.