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
Merge pull request #4907 from cakephp/issue-4889

Fix DigestAuthenticate with simulated HTTP methods.