Merge pull request #4919 from pchote/mine-fixup

Remove duplication between Immobile and Mine.
Move unwanted AttackBase logic to the individual Armaments.
Add BuildComplete property to Building and start initially locked.
Clean up Attack*.
Allow Attack* to control a subset of armaments.
Allow maps to define custom initial cargo and fix initial notification.
Move MuzzleFlash definition onto Armament.
Add AttackGarrisoned for allowing passengers to shoot outside. Fixes #4483.
Allow RenderRangeCircle to specify a fallback range.
Display fire ports in the combat debug overlay.
Don't draw combat debug for actors outside the world.
Fix retaliation against garrisoned actors.
Add upgrade rules.
Port RA pillbox to new garrison system.
Add changelog.