Filters

Minor changes in the implementations:
* ArffReader filename field is now of type const char*;
* GameEncoder dataset field is now public, because it is not fair to
have a getter, when the other fields are public (too laze for getters
for all the fields);

Filter abstract class for finding distance between subinstances is
implemented. There four derivatives:
* MyUnitsOnlyFilter - the subinstances are composed of current player's
units only;
* BothUnitsAndTimingsFilterOnlyFilter - the subinstances are composed of
both players' units and timings features;
* BothUnitsTimingsResearchAndUpgradeFilter - the subinstances are
composed of both players' units, timings, research, and upgrade
features;
* AllInFeaure - subinstances are the instances itselfs without the class
features.