RCv3 requests

The RCv3 steps added in #728 need to be turned in to actual HTTP requests. Currently, there is no support at all for doing anything with `convergence.Request` objects, so this PR adds that basic functionality.

It's primary goal is to do this for RCv3 support. It does not necessarily have to be the final API.

This probably should wait until the following PRs are merged:

- New dependent effect features:
    - [x] #730 
    - [x] #732 
    - [x] #733
- [x] `rcv3-steps`: #728

Once that's in master, I'll merge master back into this, and hopefully the diff will look a little less gnarly. While developing I will be merging these dependent PRs back in periodically.
This method signature seems [to be missing a few parameters](https://github.com/rackerlabs/otter/blob/master/otter/http.py#L15)?  Likewise, it seems like `add_bind_service` is called with the wrong parameters.

This helper function seems to be missing test coverage, but not sure how to test this without mocking out the `otter.http` functions :|