Pass `query` & `fragment` options to $route->assemble

Query parameter from the config below being passed to Page\Mvc is accounted now when assembling route

```php
    'participants/create'   => array(
        'label'     => 'Create',
        'route'     => 'admin/company',
        'params'    => array(
            'action' => 'edit',
            'id' => 'new',
            'query' => array(
                'a' => 'param1',
                'b' => 'param2',
            ),
        ),
        'fragment' => 'foo',
    ),
```
Pull query param out of params array
Update docblock with correct types
Add unit test
Code style fixes
Merge branch 'hotfix/4079'

Close #4079
Merge pull request #4084 from hoochie-coochie/fix/pass-query-to-page-mvc

Introduce query parameter for Navigation\Page\Mvc
Merge branch 'hotfix/4084' into develop

Forward port #4084