Service-bound HTTP requests

This introduces an abstraction for "service-bound request functions", which allow you to perform HTTP requests without knowledge of the tenant, name of the endpoint in the config file, region, or authentication.

It's based on the pure-http-refinements branch, so to see only the changes this branch makes, see here: https://github.com/rackerlabs/otter/compare/pure-http-refinements...service-bound-http
I don't think that's a good long-term API design, and I think I'd rather just get rid of the json-by-default to satisfy our current short-term use cases...

I think a better longer term solution would be to have an object of request functions representing our use cases, like "request_json" and "request" (and maybe others).