Initial implementation of interceptors.

I'm anticipating implementing interceptors at two independent parts
of the API. The first is high-level interceptors, that intercept
before the socket connection has been established.

The second set of interceptors will only execute for requests that
require a socket connection. Those are forthcoming.
This test is a subtle piece of complexity. I think what's happening is:
1. "Android" is added as "Request-Interceptor" header
2. The second (and last) interceptor is invoked.
3. "Bob" is added as "Request-Interceptor" header
4. The next interceptor is invoked, but this is the last interceptor in the chain so the actual request is made over HTTP.
5. The response is taken and run through the latter half of the second interceptor: "Cupcake" is added as "Response-Interceptor".
6. The second interceptor (invoked by the first interceptor) returns its response so that the latter half of the first interceptor can run: "Donut" is added as "Response-Interceptor".

Does that correctly describe this test's behavior?