Allow an array for URLs to be consistent with assertRedirect().

post(), get() in the IntegrationTestCase etc should also allow an array, just as in 2.x.
This also unifies it regarding assertRedirect() and in most cases does not require an additional "Router" use  statement then in the application's test files.
```php
    $url = ['controller' => 'Posts', 'action' => 'add'];
    $this->post($url, $data);
    $anotherUrl = ['controller' => 'Posts', 'action' => 'index'];
    $this->assertRedirect($anotherUrl);
```

So far I [shimmed this on plugin level](https://github.com/dereuromark/cakephp-tools/blob/cake3/src/TestSuite/IntegrationTestCase.php#L28). But it would probably be useful to more.
We could add a is_array() check here to be sure. But isn't that a base requirement for Router::url() anyway? That string URLs won't be touched?