Move function attribute macros into a separate header file.

This new file (src/include/global.h) is intended for anything which is
shared between src/engine, src/gamelogic and src/tools.
Add a few ‘noreturn’ attributes.
Fix a few type mismatch warnings.
Make the enemy always visible to scanners if they have no power/creep.
supply G_notify_sensor_stage with the previous stage, from which are staging up (or possibly down later)
Move glsl shader building to a dedicated GLShaderManager class
Add option to build glsl shaders incrementally after the main menu appears

This decreases startup time greatly at the expense of more choppy UI interactions until compilation is complete.
Kill ‘friend CLASSNAME’ warnings.
fix several code analysis and compiler warnings within the game code
 * suggested parenthesis
 * unused variables
 * missing break statements
refactor targetShaderName, targetShaderNewName, AddRemap etc to less complicated and more consistent names, and document a bit what they do
deprecate "targetShaderName" for "shader"
rename spawn_target file to spawn_generic as a place to spawn unsorted or few in count type of classes
don't call use() on :use if the activator is not set or not a client, warn about these cases
update entity deprecation states, replace more names with defines and document categories better
fix sort order in class spawn table
Always apply the color grading texture from the first config string.

Also actually use the RSF_NOLIGHTSCALE flag.
add a helperfunction to search and return an existing gradingtextureindex among the configstrings, or add and return a new one
Merge remote-tracking branch 'upstream/master'
allow setting the global colorgrading configstring via "colorGrade" key in worldspawn
add additional set color grade textures starting with CS_GRADING_TEXTURES+1, to reserve the first slot for worldspawn set global color grade textures