Initial furniture.json file.
Remove c_ from colors, and use 'bgcolor' property for i_ colors.
Add a function to color.cpp that converts strings to i_xxxx colors.
Why was this a char? Everywhere it's used thinks it's an int.
Initial terrain.json.

Because it turns out I can't do one without doing the other, as they use the same set of flags.
Add type fields to furniture.json and terrain.json.
Fix some terrain that should have been ' but was accidentally ", and restored some comments.
Uppercase all the terrain flags.
Correct an overzealous find-and-replace.
Add some missing colors to color.cpp's color conversion functions.
Make furn_t and ter_t load from JSON, and use string flags instead of enum flags.
Replace hideous function-that-returns-a-function-pointer declaration with a typedef.
Removed enum that no longer exists from ENUMS.md.
Merge branch 'upstream/master'

Conflicts:
	inventory.cpp
Fix a has_flag in one of the tiles files.
Crafting LOS check includes player location.
Whoops.
Implement ter_t and furn_t .transparent boolean. This is speeds up
rapid lookups, and is implemented via (ter|furn)_set_flag_variable
functions which will come in handy for future fire optimization.
Updates vc110 project with newly added files
Merge remote branch 'origin/master' and fix change to init