Add HMAC requests

Needs tests and some cleanup.
I really couldn't think of a clever way to have two sets of tests (one for oauth and one for hmac) without duplicating a lot of code. This way we can run the tests twice like so: `rspec` and `env USE_HMAC=true rspec`. I'm not a huge fan of this so let me know if you think of anything else.