Context arguments handling refactoring

- Moved context class arguments setup back under the suite settings
- Extracted context creation logic into `ContextFactory`
- Added support for named context arguments

Basically, this PR adds full and equal support for next three setups:

```yaml
default:
  suites:
    project:
      contexts:
        - VisitorContext
        - AdministratorContext
```

```yaml
default:
  suites:
    cli:
      contexts:
        - CronContext:
          - 24
          - 13
          - 72
        - APIContext
```

```yaml
default:
  suites:
    web:
      contexts:
        - VisitorContext
        - MinkContext:
          baseUrl: 'http://localhost'
```

Arguments will be passed to context classes **separately** (each value under the `behat.yml` context definition will become separate context argument). No more nonsense with `array $parameters`. Time to make our contexts POPO once again :)