Fix 4f7d857a7170a2580ce0a0c69bed7a72d73267c0. Shotgun works as expected now.

In the bad commit, Q_crandom() allowed negative values into the sqrt. This led to bad things happening (like not all the shotgun shots would hit where expected.)
Add comments that describe the range of Q_random and Q_crandom

Fuma wants them. The functions themselves aren't exactly descriptive at a glance.
Set cl_renderer GL if GL3 crashes during shader compilation.

In a release build, GLSL shader compiliation usually means that the hardware does
not support GLSL shaders and should rely on vanilla instead.
Fall back to vanilla renderer if OpenGL version < 2.1

OpenGL 2.1 introduced GLSL version 1.20 which introduced a few features that we use
We also specify #version 120 in the shader text
Print a few short interesting bits of OpenGL information by default to help with debugging user issues
Remove a few useless or duplicate things from q_shared.h
give out the current used entity count in /entitylist to get actual entityamount instead of the poolsize
Make PrintInfoLog work for both glsl shader objects and program objects
Remove old, unused, and wrong glsl optimizer code
Add missing glsl preprocessor definitions

This fixes some depreciation warnings in the shader compile log for glsl versions 1.30 and up
Add the ability for users to pick custom crosshairs on pure servers.

Just set cg_crosshairFile to the file which contains the settings. File format is:

Ex:
<name of weapon> <size of crosshair> <path to image>
blaster 24 gfx/crosshair/cross.tga
rifle   30 gfx/crosshair/myCoolCrosshair.png
Fix previous commit.

These warnings/misuses were pointed out by DevHC:
- Double parentheses
- Incorrect English (missing linking verb)
- don't reuse len
Rename *BuildableConfig* to *BuildableModeConfig* to better name what it is
Add buildable models configuration files