Initial commit of beacons
Merge branch 'master' into beacons

Conflicts:
	src/gamelogic/cgame/cg_local.h
Make CG_ExponentialFade a macro for better QVM compatibility.
Fix compatibility with QVM.
Remove unused variables and static functions from gamelogic.
Merge branch 'master' into beacons
Rename all game sources to .cpp.
Refactor beacons' game and shared code.
Implement buildable-specific icons for tag beacons.
Refactor slightly server-side beacon code to make implementing server-generated beacons easier.
Move beacon attributes to config files.
Fix beacon icons.
Make health beacon target any alien buildable if no boosters around.
Implement "Repair" beacons.
Fix a memory corruption bug causing beacons to have weird dimensions.
Fix timer beacon's icon.
Show a different icon for the "Heal here!" beacon if it points to a Booster.
Clear all implicit beacons upon death.
Implement beacon uncluttering. Make timer's countdown always visible. Rewrite beacon drawing code to not use the 640x480 virtual screen.
Beacon uncluttering moves beacons that are too close to the crosshair away from it, while displaying a subtle arrow to the exact beacon's position.
Limit beacon flooding.
Implement player tagging, detaching upon tagged entity's death, slightly refactor server-side beacon code (notably, move PositionAtCrosshair to Cmd_Beacon_f).