Don't calculate world surface fog numbers each frame

Put hard coded global fog at index 1. Make surfaces use it at load time instead of calculating fognum (defaulting to global fog if enabled) each frame.

Fixes fog at beginning of q3dm4.
Don't calculate fogDistanceVector before checking if fog is enabled
Don't use GLSL shader with fogging if surface uses (disabled) global fog
Sync GL2 CGEN_FOG with GL1 CGEN_FOG
Fix R_IsGlobalFog
Fix spatializing left audio volume (could go negative)
Fix fogging fog block ceiling texture in q3 maps (such as q3dm9)

I think the >= SS_BLEND0 check was added to stop transparent parts of rain splashes in ET's radar map from being fogged. Q3 expects this behavior for fog block textures though.
ET rain splash fog issue is only noticeable when using Spearmint with Q3 exp fogParms (instead of ET linear fogParms). It should be possible to fix in shader using "sort seeThrough".

Added in ioq3ztm r327.
Load shader files in filename order

In Quake 3, pak0.pk3 shader /file names/ have priority over all other shader /file names/.
You cannot add a new shader file that replaces one shader definition, because the pak0.pk3 /file names/ have priority.
You basically must replace the entire shader file that the shader definition is in.

Let's load shader files based on file name order so that pak1.pk3/scripts/gfx_mymod.shader and zz_mymod.shader can override shaders in pak0.pk3/scripts/gfx.shader.

Because this changes the order shader files are loaded in, it could cause compatibility issues with vanilla Q3 engine.

Also, always sort FS file lists. (That's actually the only code changes made.)
Fix game list being uninitialized for pk3 check error message
Fix game_restart <invalid game dir>

Spearmint, unlike ioq3, can fail the check for default.cfg in FS_Restart by doing "game_restart nonExistantFolder" because basegame isn't kept in search path.
If not running a server, Com_GameRestart has shutdown the client system when we hit Com_Error. So we need to restart the client system in Com_Error, otherwise we just have a tty.
If running a server, we hit the Com_Error before shutting down the client system. So make sure client isn't running before restarting it in Com_Error.

The client speex change is required for game_restart while running a server.
CL_Disconnect was getting called again before clc was cleared, causing double freeing speex pointers causing libc error.
Com_GameRestart -> SV_Shutdown -> CL_Disconnect -> FS_PureServerSetLoadedPaks -> FS_Restart -> Com_Error -> CL_Disconnect
Give game VM control of map_restart restart delay

Now server doesn't use CS_WARMUP or g_doWarmup and game VM has control of map_restart delay. Win-win.
Replace some spaces with tabs in cg_main.c
Add trap_SetMapTitle to cgame

Replaces usage of CS_MESSAGE in client, allowing cgame to get map title however it wants.
Renamed "Mapmessage" key in PNG screenshots to "Maptitle".
Allow cgame to save player view angles across vid_restart
Fix server shutdown caused by vid_restart

Don't allocate net fields on the hunk, it gets clears at vid_restart.
Merge CGame and UI VMs (issue 41)

Merge ui VM into cgame VM.
Fix ui_load command.
Remove lerpFrame_t from ui_local.h files, include cg_local.h instead.
Remove UI_DrawProportionalString from cg_drawtools.c, use UI code directly. Team Arena connect screen uses new font now.
Merge BG_RegisterClientCvars with CG_RegisterCvars

CG_RegisterCvars gets called before UI_Init now that cgame and ui VMs are merged, so BG_RegisterClientCvars isn't needed anymore.
Move client model command to cgame

Now usable for all local players. 2model, 3model, 4model.
Cannot be used in menu anymore though as cg_consolecmds.c commands aren't registered yet.

Also, allow vm commands to override vm cvars in Cmd_ExecuteString.
Revert making cg_thirdPerson cheat protected

Accidentally added CVAR_CHEAT to cg_thirdPerson in commit that merged BG_RegisterClientCvars with CG_RegisterCvars.
Update READM for vm_ui removal