Fix redirect handling

This adds support for:
* mocking out a redirect
* redirecting to a mock

Basically, I just copy/pasted the redirect-handling part of `session.send` into the fake send code. I had to fake `Response.close` as well.