Split HackyAI into a more manageable set of files.
Initial HackyAI cleanup pass.
Make a bit more sense of FindAndDeployMcv.
Initial cleanup of fuzzy logic.
Initial cleanup of BaseBuilder.
Initial cleanup of Squad.
Rename IState interface method names.
Change Squad.IsEmpty -> IsValid.
Initial cleanup of StateBase.
Remove explicit List<Actors> everywhere.
Add IEnumerable<WPos>.Average overload.
Remove StateBase.AverageUnitsPosition.
Merge CalculateFuzzy and CanAttack.
Rename and simplify MayBeFlee -> ShouldFlee.
Initial cleanup of AirStates.
Restore 6e13cb7f3 (lost while rebasing).
Rename IsReloadable -> ReloadsAutomatically.
Merge pull request #3740 from pchote/bot-cleanup

HackyAI refactoring