Allow preparing of Requests from Session settings without sending.

Attempt to address #1445. All tests pass.

Note that I think it could likely make sense to change `Session.update_request` to be an internal method, since `Session.prepare_request` is really the only public use I can think of having use in practice.