Added filters system

This filters can be used to iterate over TestSuite allowing to simplify
group/exclude-group options handling
Refactor how tests are run

-added Filters injection in TestRunner
-refactor TestSuite::run