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.