AI meta data

Work done to make AI supportpower usage slightly smarter. Refer to #5830 

Allows some basic usage rules to be defined in yaml for supportpowers.
(Just leaving note again due to outdated diff) These return statements cause you to abort the entire loop; I think the returns @ 721, 733, 746 can be replaced with continue or was this intended? My concern is the AI has two powers ready, but it won't find a place to put the 1st one and won't loop through the 2nd.