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.
I didn't invent the name. :smile_cat: I reorganized the methods around though, which makes it hard to know what's new here -- sorry about that.