Weapon / Turret refactoring

The massive pile of fail surrounding AttackBase and turrets is getting in the way of introducing a sane coordinate model for firing offsets. These changes get things closer to a sane base without introducing any gameplay changes.

AttackBase et. al. now supply only the targeting logic for the weapons and turrets, which are individually defined on each actor. Firing offsets are defined on each turret/weapon, and you can have any number of weapons distributed arbitrarily over any number of turrets.

I'm putting this up for review, but it shouldn't be merged until the following are resolved:
* WeaponMount is a dumb trait name, and should be changed (suggestions welcome). Weapon is unavailable because of a naming clash with GameRules.WeaponInfo.
* I've only modified the yaml for C&C and RA. D2k, the classic mods, and custom maps still need updating.

AttackBase.CanAttackGround should probably be moved to the weapon definition in weapons.yaml. Opinions for/against? This can be done in a followup patch.