Adds editable color definition file for SDL mode
Git is picky about trailing newlines in files
Color definitions are now loaded from a json file
WHOOPS replace tabs with spaces for consistency
Moves declaration of load_colors() to color.h

This should fix the double definition errors on linux builds.
Remove completely unused QUIT_DELETE_WORLD quit_status.
Change DELETE_WORLD option to only delete if no other characters.
cmake fixes

- Fixed up location if LICENSE.txt
- Adapted to new requirement of specifying both -DTILES and -DSDLTILES for tileset builds
Add capability to specify message context using pgettext(ctxt, msg).
Use pgettext for main menu options to fix ambiguous "<R>eset".
* terrain, furniture:terlist/furnlist and ter_id/furn_id are now determined at runtime by load
  order, not enum.
* terrain/furniture accessible via string, via termap["id"] and furnmap["id"]
* t_???? and f_???? global ints created to replace old enums, and are set to correctly match string ids.
* ter_set/furn_set/etc methods now accept string ids as well as int ter_id/furn_ids.

* TEMPORARY: old enums and t/f_ members renamed to old_.., oldter()/oldfurn() return correct equivalents.
  This is stable indefinately, but intended to be temporary until approxomately 200 case statements are rewritten.
* mapgen: line_furn()/square_furn() created as typedef'ed int values cannot overload.
* construction: workaround for STAGE(); furniture arguments are furn_t due to inability to overload
  furn_id/ter_id & str/str
make use of temporary old_ter_id and old_furn_id in functions that use switch
save: version 9 -> version 10.
mapbuffer saveload: continue saving terlist/furnlist int key to maps.txt, but include jsonized
list of string ids. On load, this key is used to make an int->int mapping prior to parsing the
data; this provides immunity to shuffling terrain/furniture ordering, without slowdown on load.

maps.txt v9 or below makes use of legacy_furn_id / legacy_ter_id found in savegame.h
editmap: show terrain string id in terrain picker
cata_tiles::draw_terrain/furniture: get string id via terlist[i].id / furnlist[i].id and
remove terrain_names / furniture_names arrays from tile_id_data.h
Merge remote branch 'origin/master' into terrain_n_furniture_json_ids
Merge remote branch 'origin/master' into terrain_n_furniture_json_ids
Cleanup commented test code
terrain/furniture open/close: now defined in json via "open", "close" keys, and optional "OPENCLOSE_INSIDE" flag