Fix `fix` command to handle `--fixers` option when contains extra and excluding filters

Currently, when `--fixers` option contains extra and excluding mixed filters such as `-eol_ending,concat_with_spaces`, excluding filter will be enabled, however, extra filter will not be enabled.

This PR fixes this behavior, so enable both type filters when mixed filters given.

----

`sample.php`

```php
<?php
echo 'foo'.'bar', PHP_EOL;

```

Current version: (`concat_with_spaces` is not enabled)

```
% php-cs-fixer fix -v --diff --fixers="-eol_ending,concat_with_spaces" --dry-run sample.php   
   1) /home/fivestar/sample.php (eof_ending)
      ---------- begin diff ----------
      --- Original
      +++ New
      @@ @@
       <?php
       echo 'foo'.'bar', PHP_EOL;
       
      -
      
      ---------- end diff ----------
```

Fixed version: (`concat_with_spaces` is enabled)

```
% php-cs-fixer fix -v --diff --fixers="-eol_ending,concat_with_spaces" --dry-run sample.php 
   1) /home/fivestar/sample.php (eof_ending, concat_with_spaces)
      ---------- begin diff ----------
      --- Original
      +++ New
      @@ @@
       <?php
      -echo 'foo'.'bar', PHP_EOL;
      -
      +echo 'foo' . 'bar', PHP_EOL;
       
      
      ---------- end diff ----------
```
Why create extra class is because to get testability and separate responsibilities.