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.
Why did you add this?

```csharp
var reloads = arm.Info.ReloadsAmmo == true;
[...]  && reloads
```

I think it may be the reason for the aircraft never returning when out of ammo.