Refactoring FilterUtil

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | 
| Refs tickets  | #1205 
| License       | MIT
| Doc PR        | 

The purpose of this PR is refactor the library to make it easier to instantiate while being testable, to conform to "best practices" and give it more of a fluid API.

```
use Zikula\Core\FilterUtil\Config;
use Zikula\Core\FilterUtil\FilterUtil;
use Zikula\Core\FilterUtil\Plugin\Category;
use Zikula\Core\FilterUtil\Plugin\Date;
use Zikula\Core\FilterUtil\Plugin\ReplaceName;
use Zikula\Core\FilterUtil\PluginManager;

$config = new Config($qb, $request);
$pluginManger = new PluginManager($config, array(
                                                new CategoryPlugin(),
                                                new DatePlugin(),
                                                new ReplaceNamePlugin()
                                           ));
$filterUtil = new FilterUtil($pluginManager);

```

/cc @Guite @drummer3333