Make no assumptions regarding HTTP headers processing order
This commit changes the DoH code in such a way that it makes no assumptions regarding which headers are expected to be processed first. In particular, the code expected the :method: pseudo-header to be processed early, which might not be true.
Closes #2875 (closed)