Requests in history are overridden on redirect

Example:
```python
import requests

resp = requests.get("http://httpbin.org/redirect/4")
for r in resp.history:
    print("url: {} request.url: {}".format(r.url, r.request.url))
```
Output:
```
url: http://httpbin.org/redirect/4 request.url: http://httpbin.org/redirect/4
url: http://httpbin.org/redirect/3 request.url: http://httpbin.org/get
url: http://httpbin.org/redirect/2 request.url: http://httpbin.org/get
url: http://httpbin.org/redirect/1 request.url: http://httpbin.org/get
```
Simplest solution is to copy ``prepared_request`` for each redirect. Also ``prepared_request`` can be created inside the while loop (maybe it's better?).