routing: fix `optionalCookie` directive leaking MissingCookieRejection
routing: add `cancelRejection` directive, improve `authorize` and `respondWithMediaType` directives