doom: Refactor IWAD dehacked patch loading.

As per suggestions from Fabian Greffrath:
 * Change -noiwaddeh to -nodeh for consistency with other source ports
   (Boom-derived source ports use this to disable loading of DEHACKED
   lumps).
 * Extend the parameter so that it also disables loading of the Chex
   Quest dehacked patch.
 * Refactor the code for loading IWAD dehacked patches to all be in a
   single function.
dehacked: Allow override of string replacements.

If loading two dehacked patches and both replace the same string,
the second replacement should override the first. Change the API
function DEH_AddStringReplacement so that the from_text and to_text
are implicitly duplicated, and we can free to_text and replace
it later if we subsequently change it to something else.
Fix dehacked patch loading order.

The order in which we load dehacked patches is important. Change the
order so that IWAD dehacked patches are loaded before any others, and
so if, for example, we're playing with Freedoom, the Freedoom string
replacements can be overridden by those from extra mods we're playing
with.

As part of this, ditch DEH_Init() and use DEH_ParseCommandLine()
instead to handle the -deh option. Remove the DEH_Init() message
from startup and show messages about dehacked patches that we load
with the WAD files that we load.
doom: Add game names for Freedoom IWADs.

When playing using one of the Freedoom IWADs, set the gamedescription
string to be the full title of the IWAD being played, rather than
showing "Ultimate Doom" or "Doom II: Hell on Earth" etc.

This fixes #446 (thanks chungy).
Update NEWS.
textscreen: Don't allow input of unprintable characters.

If a Unicode character is not part of the Extended ASCII set that
we can display on screen, don't allow it to be typed (which would
display a backwards question mark). Thanks Alexandre-Xavier for this
suggestion on #229.
doom: Write -cdrom savegames to c:\doomdata.

When using the -cdrom command line parameter (does anyone still use
that?), savegames should be written to c:\doomdata to properly
reproduce Vanilla behavior. These were being incorrectly written to
c:\doomdata\savegames\foo.wad instead.

This fixes #175. Thanks Alexandre-Xavier.
Merge branch 'master' of https://github.com/chocolate-doom/chocolate-doom

Conflicts:
	src/deh_text.c
	src/doom/d_main.c
simplify check for nerve.wad being loaded
Merge branch 'master' of https://github.com/chocolate-doom/chocolate-doom