Remove construction_left from Area.  Since all Areas have a Building, and the Building has construction_left, Area does not need one of its own.
New enum, Building_category, is broad categories for buildings (e.g. manufacturing, religious, governmental, etc).  Building_datum stores one.  Building now stores construction_left.  Rearrange some lines and comment.
Macro for defining a building's category.  Add categories for mason and forge.
City now stores a second vector of Buildings, its building_queue.
Since Area no longer has its own construction_left, use Area::building::construction_left wherever it was used.
Totally overhaul Interface::build_building(); it's still not complete.  Rather than list ALL buildings together, first present categories, then let the player view a short list of buildings in a specific category.  New function Interface::set_building_list() performs the task of finding buildings in a category and populating the interface with their data.