+ routing: add `optionalAuthenticate` directive

- `optionalAuthenticate` directive provides `Some(userContext)` on
success, `None` if no credentials are provided, otherwise rejects
Ah, ok, thanks for the explanation.
I can see your point but agree that the current behavior (which this test verifies) is indeed the right one.