add parser for [STRINGS] sections in BEX files
improvements to the [STRINGS] section parser

- restructure DEH_ReadLine() to avoid use of "goto"
- bex_string_t type name ends in "_t"
- declare constant table as "static const"
- add magic comment *allow-extended-strings* and corresponding
  variable deh_allow_extended_strings
- fix logical error when no [STRINGS] section is registered to which
  corrent_section could be compared
simplify and generalize deh_allow_extended_strings usage
Add support for the BEX extended string syntax.

Boom added an alternate method for overriding Dehacked strings, using
the [STRINGS] section with special symbolic names for each of the
strings that can possibly be replaced.

This format is used in the Freedoom DEHACKED lump (deliberately, so
that the Freedoom WAD does not include the original text to be
replaced). As we want to have support for the Freedoom IWADs with
Chocolate Doom, add support for the BEX [STRINGS] section, but
protected by a magic comment that must be included in Dehacked/BEX
files that use it.

Thanks to Fabian Greffrath for implementing this.
dehacked: Fix BEX string expansions.

The Dehacked code must pass a special flag to DEH_ReadLine() when
parsing the [STRINGS] section, so that lines can be escaped onto
following lines. However, this flag value was calculated incorrectly.

The BEX [STRINGS] section cannot be looked up at the start of
parsing a Dehacked file, because GetSectionByName() will return
NULL for it (extended strings are not available yet). Instead,
simplify the logic to look at the name of the current section and
check that way.
dehacked: Set stricter scoping for magic comments.

Magic comments allow some of the Vanilla limits to be overridden, but
they should only apply to the files in which they were defined. Reset
the flag variables that control these overrides before every new
Dehacked file is parsed, so that a flag set in one file cannot spill
over into other files that are parsed subsequently.
dehacked: Load Freedoom DEHACKED lump on startup.

If using one of the Freedoom IWADs, detect it by checking for the
FREEDOOM lump, and then load its DEHACKED lump to apply the
cosmetic string changes that it includes. In case we're using an old
version of one of the Freedoom IWADs, don't bomb out with an error
while parsing the DEHACKED lump.
Add vld_ prefix for vldoor_e enum values.

It was pointed out to me recently that vldoor_e has enum values
named 'open' and 'close'. These can potentially conflict with POSIX
standard functions that have the same names, if the right header
files are included.

This doesn't currently cause any problems. However, to avoid any
possibility of a conflict occurring if a different compiler is used,
add a vld_ prefix to all the enum values, to namespace them.
Update NEWS.
use HU font plus sign instead of asterisk as laser spot
Merge branch 'master' of https://github.com/chocolate-doom/chocolate-doom

Conflicts:
	src/deh_io.c
	src/doom/d_main.c
deh_main.c: fix "warning: implicit declaration of function ‘I_Error’"
Merge branch 'master' of https://github.com/chocolate-doom/chocolate-doom
remove obsolete crispy_dehautoload variable
fix "holding ESC causes the menu to flicker on and off repeatedly"

by not calling SDL_EnableKeyRepeat() in I_InitGraphics() anymore
inline WAD origin test for crispy_coloredblood
display map also if map origin is a PWAD
do not cap the laser spot projection at the lower limit

it becomes much too imprecise at farther distances.
beautify wad and map name stats line