SmartMissile implementation

Refactored (SplashDamageShot, Missile) into (ExplosiveShot, Missile),
created LineOfFireAnalysis for ComputerPyroPilot to make decisions
easier, added ComputerPyroPilot back off behavior when another Pyro is
right in front, ComputerPyroPilot now fires on targets in front of other
Pyros