I took a stab at the updates I suggested in #239. Pretty simple and includes tests. I don't really like adding custom stuff to the options hash. But couldn't think of a cleaner way to do it off-hand.
allow request.defaults to override the main request method