Add "X-HTTP-Method-Override" to router

Cleaned up version of @klauspost's #639.

<hr>

This will add X-HTTP-Method-Override as a method override to the router.
The request method is replaced, so subsequent filters can test on the
intended method.

This should make it safe for CSRF testing, since the CSRF filter will
see the intended method and not the actual used one.

Test added. I found no way to declare the headers inline, so it has to
be added in code.
I know the tendency in Go is to be very brief/concise, but I strongly feel that descriptive variable names makes the code more understandable. The exception is if the variable refers to a variable in a formula that is detailed in comments.

In this case, instead of `m`, would `overrideMethod` be more clear?