spearmint: Turn recursive drop into fatal

When client cannot load cgame or cgame has unsupported API,
a recursive drop error happens and engine doesn't shutdown cleanly.

On Linux in fullscreen, you get stuck with a black screen. (Can kill it using a TTY.)
(Due to unaccessible error dialog causing program to freeze.)
spearmint: Make sure the new printf can't inf loop in Com_Error
spearmint: If ERR_DROP while switching gamedir, change back to last one
spearmint: Only error once for missing default.cfg

Use Com_Error so client can try to load previous game instead of exiting.
spearmint: Change title of pk3 mismatch dialog
spearmint: Don't refresh master addresses when ever get a info request

Causes server to hang the first time if not sending heartbeats to masters.
spearmint: Allow CGame to call SV_Shutdown

sv_killserver cvar allows UI to shutdown local server, but it happens later in the frame.
This makes things more complicated. It cleared mouseFlags after actually setting the cvar,
so Team Arena postgame lost mouse input.

Team Arena also had a hack to not start high score sound until server actually was killed, which is unpleasent.
spearmint: Increase MAX_SNAPSHOT_ENTITIES to 512 for ET
spearmint: Fix COM_Parse line counting

Broke in cef4cd1e60a214b573b51e36fd1942effe696de6
spearmint: Add linear fog support to OpenGL2

Based on OpenGL1 linear fog method from ET.
iortcw used for reference for adding another GLSL fog type.
spearmint: Add support for 'else' to shaders
spearmint: Restore cvar defaults when switching games

gameconfig.txt allows changing cvar defaults. Now the 'real' cvar
defaults are saved and restored when restarting file system.
spearmint: Fix restoring overridden latch cvars defaults
spearmint: Extend fogParms, remove linearFogParms

ET changed fogParms from exp fog to linear fog. I originally added
linearFogParms and create patch shaders for ET. There is a few issues
with this.

q3map2 will only create fog volume if fogParms is in shader, so for new
maps you would need to specify fogParms and linearFogParms.
By requiring ET maps to have patch data to use linear fog there would be
issues with add on maps.

Allow fog type to be specified at end of fogParms and fall back to type
set by r_defaultFogParmsType (which can be set by gameconfig.txt).

Fixes q3map2 issue and ET can have fogParms default to linear.
Merge branch 'master' into sdl2