Convert all mapgen_insertnamehere functions to use the same arguments:
map *m, oter_id terrain_type, mapgendata dat, int turn, float density
Forest spawn group basics
map mapgen_* functions to mapgen_cfunction_map<std::string, building_gen_pointer>,
attempt to load correct mapgen automagically
(temporary oter_id == mapgen function name)
overmap_terrain.json: add "mapgen" array for one of:
{ "type": "builtin", "name", "valid_mapgen_cfunction_map_key" }
{ "type": "lua", "script", "todo" }
{ "type": "json", "object": { todo } }

mapgen: choose randomly from list of defined mapgen_function abstract function pointers

oter field: add demo "field_test" mapgen addition
Insects added
Take remaining mapgen_functions out of if-else-conga-line-of-doom. house mapgen -> building_generation.cpp
oops: add mapgen.h
yoink house, gas station, parks etc out of if-else-congaline-of-doom
More insect spawns
Giant insect spawn frequency increases as time goes on
Move church mapgen to building_generation.cpp. Amen.
Cleanse mapgen.cpp of else if ( church ) ...
Merge remote-tracking branch 'origin/master' into mapgen_sanity
blargle mv mapgen.h
[BUGFIX]: labs, bunkers, etc: overmap::ter; don't return ot_null directly for invalid coords.
extra paranoia; reset overmap::nullret to 0
editmap: fix mapgen positioning
eliminate 1.5 megabytes of \n's from 10000 submap save that only make maps.txt unreadable
Keeps swamps unique and removed squirrels as filler
Zombie dogs