Refactor merge_kwargs for clarity and to fix a few bugs
Merge pull request #1343 from gazpachoking/#1321

Refactor merge_kwargs
Only pass unicode fieldnames to urllib3.
Merge pull request #1373 from ib-lundgren/unicode_fields_to_urllib

Only pass unicode multipart fieldnames to urllib3.
Fix typo, %t -> %r
don't replace 'Digest' in digest header value

See https://github.com/kennethreitz/requests/issues/1358
Fix #1374
Merge pull request #1376 from papaeye/master

Fix typo, %t -> %r
nope
Merge remote-tracking branch 'origin/master'
Merge pull request #1375 from t-8ch/fix_digest_auth

don't replace 'Digest' in digest header value
v1.2.2
Merge remote-tracking branch 'origin/master'
Only switch to chunked if we don't know the length of a file like object. This fixes the case of trying to upload a 0-length file - chunked upload was being forced. Services like S3 that disallow chunked upload will fail.
Lower-ify url before checking against prefix with startswith()
- fixed func call syntax on lower to lower()
- added test cases for trying to test GETS on mixed-case schemas
added tests for mixed-case scheme URLs, changed adapters passing down URLs into urllib3 by lower-ifying them so that the underlying pool manager can effectively pool by scheme as dictionary key
v1.2.3
resolve_redirects no longer throws an InvalidSchema exception when the scheme is uppercase
resolve_redirects now checks for a scheme before converting the scheme to lowercase, added tests or the scheme casing