Loosen header checks for case-insensitivity

I don't have any empirical evidence that sites may use different cases for their headers. I just figure, better safe than sorry. 

This also provide a way to easily get at the contents of the specified header with non-`?` versions of methods. So this adds tests for the new methods as well.
Er, no. I should not. The tests didn't catch this. I'll fix and update the tests.