Don't lowercase matched parts

The way insensitive comparison is currently implemented introduce a loss of information on matched parts (wildcards or regex) by lowercasing them.

This can lead to issues with case sensitivie url parts, including, but not limited to filenames, e.g.:
set redirect: `/myfiles/* -> /images/*` or `^/myfiles/(.*\.jpe?g)$ -> /images/$1`
expected result: `/myfiles/FooBar.JPEG -> /images/FooBar.JPEG`
actual result: `/myfiles/FooBar.JPEG -> /images/foobar.jpeg`

This PR leave untouched case insensitive comparison, it only preserve the casing of matched parts