Fix EZP-23337: New stack does not generate 301 redirects for wrongly cased URLs

This PR revolves issue https://jira.ez.no/browse/EZP-23337

Case correction redirection was not implemented.

This implements it, with one improvement over Legacy Stack behaviour. In LS, for custom resource alias (e.g. custom alias on `/content/search` resource), case-incorrect URL would result in the redirection to the resource itself, rather than to the case-corrected custom alias. That seems incorrect, and behaviour here is therefore redirection to the case-corrected custom alias.

Note: forward (redirect) flag has precedence, so requesting case-incorrect URL for the forwarding custom alias will not result in redirection to the case-correct alias but to the original resource directly.

Tests: unit tests + manual integration testing.
I don't really like the duplication of this line ;-).
I'd do something like:

```php
if ( !$this->needsCaseRedirect( $urlAlias, $requestedPath ) )
{
    $request->attributes->set( 'semanticPathinfo', '/' . trim( $urlAlias->destination, '/' ) );
    // In URLAlias terms, "forward" means "redirect".
    $request->attributes->set( $urlAlias->forward ? 'needsRedirect' : 'needsForward', true );
}
// Handle case-correction redirect
else
{
    $request->attributes->set( 'semanticPathinfo', $urlAlias->path );
    $request->attributes->set( 'needsRedirect', true );
}
```