Improve how the request path is used to determine redirection when
needed

* pass the request object to the Path from_request method
* include a from_request! method to raise when no page is found
* changed to the ! method as default behavior in current controllers
so there is no API change