struct region_settings: Holds spatially relevent overmap variables. Loads from json, populating a list of suggested defaults, which
  will eventually be provided to the overmap by a regional/over-overmap. (currently there is only 'default';
  semi-rural North West USA with scattered temperate forest biome.
* stores jsonized variables relevent to overmap generation:
  * forest and swamp variables
  * "house_basement_chance": one_in(?) house : house_base (default 2)
  * shop() weightlist jsonized and sped up. Uses oter_t.rotates instead of hard-coded rotate-everything-but-s_lot.
  * parks moved to another weightlist, replacing hard-coded one_in(5) ? pool : park
  * The voodoo constants used to radially determine shop/park/house zoning are jsonized. Variables remain obtuse
    until a way to make them friendlier without breaking stuff is determined.
  * todo: more stuff. oter_specials, etc
* stores jsonized variables relevent to mapgen (pointer stashed in mapgendata)
  * struct id_or_id default_groundcover replaces grass_or_dirt. Default is the same as grass_or_dirt:
    ( one_in(4) ? t_dirt : t_grass ). In a desert region/biome one_in(10) ? t_sand : t_grass or such would fit better.
  * struct plant_coverage abstracts the builtin 'field' mapgen, determining shrub frequency and type
    as percentages.

overmap:
  * see above
  * corrected oter_t.rotates
  * oterr_weight_list moved to header, stores string id as well as int id, set post-json/pre-game
  * global obasetermap["string"] takes "example" and spits out the base oter_t ("example", "example_north" for rotates,
    "example_ns" for line_drawing tiles, etc
struct id_or_id: specification for custom grass_or_dirt / dirt_or_pile / tomato_or_tomato.
set via id_or_id(str primary, int chance, str secondary), or (int,int,int)
int .get() returns one_in(chance) ? secondary : primary
bool .match(int) compares both
post init cheching and int-setting
map: added fill/square functions that use id_or_id
mapdata: stash ptr to map and region_setting, add convenience functions
Added gender restrictions to some professions.

ie. Bride is female-only, Groom is male-only.
Added weapon mod locations.
Added gender-specific item loadouts

So female senior citizens won't be dressed like their husbands and
male crackheads will have pants and flipflops instead of a skirt and heels.
New categories, renamed categories, put categories to use.
Added ability to give weapons specific amounts of specific mod locations.
Forgot to delete test data.
Added mod locations to all sensible weapons in ranged.jason.
Added mod locations to crossbows.
Fixed json error.
mapgen: replace grass_or_dirt and hardcoded t_grass || t_dirt stuff with id_or_id region->default_groundcover
Another json error.
Even more json errors. ( I really need to start paying attention :P )
Fixed item info display.
Made profession gender differences better

There are no gender-restricted professions, and professions are allowed
to have different names for male and female characters. Also, for professions
with gender-specific names, a message appears in the description area allowing
the player to press TAB to switch gender quickly from the profession menu.

Also, as a result of the different profession names, alphabetical sorting
doesn't work (unless we want to sort the list of professions every time, or
keep two separate lists for male and female sorted professions), so it was
changed to sort by point cost (though the default is still always at the top).
terfurn_tile: rename to ter_furn_id, move to mapdata.h
id_or_id: byte align struct, removing *_str into str_or_str temporary holding
  struct
base_oter_id( str ): return oter_id matching overmap terrain's base, or debugmsg error.