Recognizing a given path whose route uses request.env within constraint  

Now you can call `Rails.application.routes.recognize_path` passing `request.env` as the second parameter. 

It prevents a possible `NoMethodError for nil` when you are using `request.env[‘some_custom_key’].some_method` within route constraint. For example:

```
match "/some_path", to: "some_controller#some_action", 
            constraint: ->(req) { req['warden'].user }
```
`recognize_path` is really not public API. This middleware should not really be using it. Is it possible to reproduce this same bug without calling `recognize_path` directly?