Currently:
* `template_structure_defensive_wall_long.xml`, `template_structure_defensive_wall_medium.xml`, `template_structure_defensive_wall_short.xml` have `template_structure_defensive_wall.xml` as their parent (as should be)
* `template_structure_defensive_wall_gate.xml` has `template_structure_defensive_wall_long.xml` as its parent (name suggests otherwise)
* `template_structure_defensive_wall_tower.xml` has `template_structure_defensive.xml` as its parent (name suggests otherwise)
This patch:
* changes the parent of the `*_wall_gate.xml` and `*_wall_tower.xml` to `*_wall.xml`, which means all wall templates all have the same inheritance
* removes some duplication
* moves cost and health out of `template_structure_defensive_wall.xml`, because all its children have different values
* [EDIT]: `template_structure_defensive.xml` has exactly two children: `*_tower.xml` and `*_wall.xml`; because both remove the ConquestCritical class and add the 2x2 rubble, it makes more sense to do that in their shared parent.