Fix DigestAuthenticate with simulated HTTP methods.

Digest authentication headers depend on the original HTTP method. When we use simulated request methods, we break digest authentication as the hashes never match. This change adds `ORIGINAL_REQUEST_METHOD` to request->env(), which allows us to access the original HTTP method. I went down this route as I wanted to avoid more global dependencies, and I thought having a way to access the original HTTP method could be generally useful.

Refs #4889