Add copy method to PreparedRequest objects
Remove redundant session in `test_mixed_case_scheme_acceptable`
Rewrite `test_mixed_case_scheme_acceptable` to work with local httpbin

Instead of using hard-coded urls to httpbin.org, use the url defined
in `HTTPBIN_URL` replacing the scheme as necessary to test the mixed
cases.

Refs #1485
Remove redundant test case `test_uppercase_scheme`

This test verifies that an upper case scheme ('HTTP') works correctly,
but this is already tested in `test_mixed_case_scheme_acceptable`.
Rewrite `test_uppercase_scheme_redirect` to use local httpbin

Instead of redirecting to hard-coded 'example.com', use the URL
defined in `HTTPBIN_URL` with the path set to the 'html' endpoint.
Check the response URL in `test_uppercase_scheme_redirect`

Update the test to check that the URL in the response is the
one that we expect, i.e. the one it was supposed to redirect to.
Better cookie docs on sessions.
Merge pull request #1490 from Lukasa/cookiedocs

Better cookie docs on sessions.
Comment markups, courtesy of @sigmavirus24
Document the Response.close() method.
Merge pull request #1476 from sigmavirus24/add_copy_to_prepared_requests

[2.0] Add copy method to PreparedRequest objects
Merge pull request #1494 from Lukasa/close

Document the Response.close() method.
Wrap IncompleteRead in ChunkedEncodingError.
Update urllib3 to d89d508
Fix duplication of efforts caught by @dofelw
Provide 'host' parameter to MockRequest.
Prepare requests with session settings separately from sending.
Skip unneccessary Request.copy in Session.request
Shallow copy of Request fields in Request.copy()

This prevents e.g. modifying the headers of a copied request from
affecting the headers of its source and vice versa. Copying is used with
the intent to mutuate, so allowing this kind of mutation of fields makes
sense.

Is a deep copy better?
Add Request.copy() test case.