add permissions capacity to RouteGuard and ControllerGuard

Another way to manage permissions checks for RouteGuard as an alternative to #238 

Discussion is open. ;)
It is not clear to me, that `'roles' => 'foo'` override (AND operation) `'permission' => 'bar'` you would actually need a setting for that. Take this config for example:

```php
'My\Controller' => [
    'roles' => ['admin'],
    'permission' => ['mayAccess']
]
```

I think it is preferable to do something like this:


```php
'My\Controller' => [
    'roles' => ['admin'],
    'permission' => ['mayAccess'],
    'operator' => GuardInterface::OR_OPERATOR
]
```