Replace the request in Context with our new clean request:

Next step: we replace the request Core::Context uses with the request
we created ourselves.

A major problem is that Core::App sets up engines according to that
context, and attributes like "is_behind_proxy" get initialized by
that. This is done in a trigger for the "context" attribute in
Core::App.

We move this to a method that we can then manually call, which will
later be removed when we remove Core::Context.