Add request_ method and specs

As we discussed `request_` acts like `request` but also accepts headers.

This pr includes specs for the new method as well as a few for existing ones like `get`, `post` etc.
I would remove this `describe` and make the `context`s bellow `describe`s.  We describe `get`, `post`, etc. here.  That they are implement in terms of `request` is an implementation detail.