[Fixes #58795274] Collapse multiple slashes during lookup

Convert multiple adjecent slashes to a single slash for the purposes of
looking up routes. The request URI will be passed to the backend unmodified.

This maintains the behaviour of removing leading slashes. However empty
items produced by trailing slashes are now also removed.

Lookup performance is slightly decreased. Mostly when the path contains lots
and lots of slashes.

Before:
```
BenchmarkLookup  2000000               782 ns/op
BenchmarkLookupBogus     1000000              1213 ns/op
BenchmarkLookupMalicious          100000             19011 ns/op
ok      github.com/alphagov/router/triemux      6.057s
```

After:
```
BenchmarkLookup  2000000               927 ns/op
BenchmarkLookupBogus     1000000              1461 ns/op
BenchmarkLookupMalicious           50000             32835 ns/op
ok      github.com/alphagov/router/triemux      6.481s
```