Move weapon/turret definitions out of AttackBase.

Weapons are now defined with the Armament trait
and turret parameters live in Turreted.
This has the side effect of allowing any number
and distribution of weapons and turrets.
Merge pull request #2770 from pchote/turret-cleanup

Weapon / Turret refactoring