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.
This will throw an exception if `attackLocation` is null, which makes the check below redundant.  You should move this below the check if you want to be safe.