Fix various Clang compiler warnings.
Fix libpng detection for static libraries
config: Add API to get/set config variables.

It is useful to be able to set variables through an API provided by
the config module; this means that it is possible for one module to
set config variables of another in a more loosely-coupled way.
Set GUS patch path variable using D_SetVariable.

commit 42faefce1fd03 added code to set the GUS patch path
automatically when the BFG Edition is installed, but this caused
problems because gusconf.c is not included as part of the build for
the setup tool. Use D_SetVariable() instead which accomplishes the
same thing without a hard dependency.
Add explicit check for libz

Fixes static linking and libpng won't link without it anyway.
Fix typos in config API usage
Define a keyboard scan code for PrintScreen.

There is no real scan code for the PrintScreen key under DOS, but it
is convenient to be able to bind it as a screenshot key. Define a
"fake" scancode (126) to represent PrintScreen so that it can be
represented as a key binding in configuration files. Also add some
comments/notes to the scantokey[] lookup table.

This fixes #369.
strife: Fix default music volume to match Vanilla.

Strife's default music volume is 13 as opposed to Doom's value of 8.
This was apparently not changed during the development of Chocolate
Strife. Thanks to Alexandre-Xavier for noticing this and providing the
correct value (bug #347).
setup: Make default sound volumes match Vanilla.

Doom, Heretic, Hexen and Strife have different default SFX and music
volumes. Make sure the setup tool sets the appropriate default when
creating a new configuration file.

Thanks to Alexandre-Xavier for reporting this and providing the
correct defaults. This fixes #347.
video: Fix crash when running fullscreen with -2.

Remove special logic for setting a scale factor (2x, 3x, etc.) when
running fullscreen instead of windowed. This fixes a crash due to the
fact that I_GraphicsCheckCommandLine() is called before SDL's video
subsystem is initialized.

This makes -2 identical to -geometry 640x480, which is arguably a
better (more easily comprehensible) behavior.

Thanks to Fabian Greffrath for reporting the bug. This fixes #338.
Fix .rc files so version info shows on Windows 7.

Thanks to Brad Harding for the bug report. This fixes #319.
hexen: Allow abort on startup by pressing escape.

Vanilla Hexen allows the game startup to be aborted by pressing the
escape key. This can also be used to abort netgame startup. Add back
this functionality by polling the SDL event loop; this feature only
works if the graphical startup is enabled, but that's good enough.
video: Fix calculation of -devparm ticker.

The released linuxdoom source had the devparm ticker dots at a spacing
of two pixels rather than four pixels (as used in Vanilla Doom). In
commit 4a31ec8fcee20e.. I changed this back to four pixel spacing, but
forgot to multiply the number of tics to adjust as appropriate. Fix
this so that the dots are calculated just like Vanilla Doom is.

Thanks to _bruce_ for pointing this out on Doomworld, and to
Alexandre-Xavier for questioning my reasoning when I wasn't convinced
that the current behavior was wrong. This fixes #360.
textscreen: Add label for PrintScreen key.

Needed to properly fix bug #369.
misc: Add string utility functions.

It's more readable to write "M_StringEndsWith(..." than doing a bunch of
pointer arithmetic, and this is a common pattern. Also add
M_StringStartsWith, M_StringJoin and M_StringCopy. The latter is a
safe alternative for strcpy() that works the same as OpenBSD's
strlcpy(). Use these functions in a few places where it makes sense.
misc: Add M_StringConcat.

Just as M_StringCopy behaves the same as strlcpy(), M_StringConcat
behaves the same as strlcat(). Use this in one location.
Fix erroneous call to M_StringJoin
doom: Eliminate use of unsafe string functions.

Eliminate use of strcpy, strcat, strncpy, and use the new safe
alternatives.
heretic: Eliminate use of unsafe string functions.

Eliminate use of strcpy, strcat, strncpy, and use the new safe
alternatives.
heretic: Eliminate use of unsafe string functions.

Eliminate use of strcpy, strcat, strncpy, and use the new safe
alternatives.