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.
should you be passing response here?