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 is only used inside the `Decision` class, so you can move the enum definition inside the class to avoid namespace pollution.