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.
Start work on sending cookies back

On 401's the cookies received aren't sent back to the server. See: #1336
Make the regular tests pass

I broke Digest Auth completely
Fixed finally. Also requires updated httpbin.org
Take advantage of the new copy method
Update urllib3 to d89d508
Fix duplication of efforts caught by @dofelw
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.
Add Session.prepare_request test case.
Merge settings when creating PreparedRequest, don't copy Request.
Merge pull request #1507 from buzztabapp/prepared-session-requests

Allow preparing of Requests from Session settings without sending.
Merge pull request #1506 from Lukasa/mockrequest

Provide 'host' parameter to MockRequest.
Merge pull request #1501 from sigmavirus24/remove_setting_of_hooks

Fix duplication of efforts caught by @dofelw