check for null because clients may be gone already

fixes #3694
fix selection boxes for starport and silo
allow AI to build turrets and research labs

- fewer power plants
- building limits for all bots
Merge pull request #3703 from Mailaender/d2k-minors

Fixed some minor regressions in Dune 2000 regarding AI and selection boxes
Remove hardcoded alpha-blend from Cg shaders. Fixes #3707
Fix RPG facing.
Fixed laserfire (currently used by sonic tank).
Add Deviator gas explosion.
Add 120mm and 155mm projectile sequences.
Add correct Devastator bullet sequence.
Change piffs to correct animation, tweaks and changes some other explosion animations.
Fixes Trike, Raider and Devastator muzzle sequences so they actually show up in-game, removes unnecessary muzzle sequence for Quad.

Note: I'm aware that abusing Frames: for this is a bit ugly, but as a matter of fact the result simply works and looks much better than using a high tick value instead.
Adds muzzle sequences for regular tanks and Siege tank.
Fixes several vehicle LocalOffsets and turret offsets, enables MuzzleFlash.
Changes Siege Tank behavior from AttackTurreted to AttackFrontal as it was in the original (making it slightly more effective against defenses too, as it no longer moves as close to them as turreted units would).
Several visual weapon fixes.

- adds visible projectiles to tanks, gun turret and siege tank weapons.
- fixed devastator bullet.
- quad now uses RPG projectile.
- reduced the overuse of large artillery explosions.
- removed some useless WaterExplosions.
- gave deviator missile its own explosion animation.
- tank cannons now cause the same explosion as in d2k.
Explosion sound changes.

Significantly reduced use of expllg3 and explsml2, more variety, fixed one missing extension.
Removes Start: from muzzle sequences that use explicit Frames.
Merge pull request #3712 from reaperrr/d2k-audiovisuals1

D2k mod audio-visual improvements
Merge pull request #3708 from pchote/cg-fixup

Remove hardcoded alpha-blend from Cg shaders.
Fixed division through zero in moveFractionTotal

closes #3710