Moves LimitedAmmo and Reloads functionality to Armament

Mostly done.

Some notes as of 2014-10-07 00:50 CMT+1:
- HackyAI needs a limited ammo and Reloads check, but I couldn't get my head around on how to implement them in this particular case
- I have no idea whether my changes to ```AirStates``` and ```FlyAttack```/```HeliAttack``` really work as intended (though the two attacks seem to work fine)
- Minelayer reloading seems to work without the ```Rearm``` activity, so the related stuff in ```Rearm``` is probably redundant

Closes #2840 once finished.
While you are at it you could safe an `AircraftInfo` lookup here:

```csharp
if (actorInfo.Traits.Contains<ArmamentInfo>())
{
	var countOwnAir = CountUnits(actorInfo.Name, p);
	var aircraftInfo = actorInfo.Traits.GetOrDefault<AircraftInfo>();
	if (aircraftInfo != null)
	{
		var countBuildings = CountBuilding(aircraftInfo.RearmBuildings.FirstOrDefault(), p);
		if (countOwnAir >= countBuildings)
			return false;
	}
}
```