Allow rules with optional parameters

Today UrlRule not allow to create rules with optional parameters. Often they can be useful.

As the method escapes the parentheses, I thought of making the optional parameters using brackets. A rule might look like this:

```PHP
'urlManager' => [
    'rules' => [
        'agenda/<formato:json|xml>{/p/<person:\d+>}?{/a/<agenda:\d+>}?' => 'agenda/init',
    ]
],
```