Move creation of attributes to RequestException

Pass request objects in HTTPAdapter
Avoid having to fix tests
Explicitly check for None
Repopulate ~/.netrc auth.
Avoid breaking crappy distribution methods.
Better layout for checking.
Merge pull request #1893 from Lukasa/license

Avoid breaking crappy distribution methods.
Respect trust_env on redirect.
Merge pull request #1892 from Lukasa/netrcauth

Repopulate ~/.netrc auth.
cleanup shitty code
who did this
omg never do this again ever please
what is wrong with you people? :)
Document requirements for SNI support on Python2

A section for Request's advanced usage guide on what Server Name
Indication is, its purpose, and how to enable it on Python2.
Move SNI documentation to FAQ

Relocate documentation on Server-Name-Indication from the advanced
section to the frequently asked questions. This is minus details on
enabling SNI on Python2, which is instead captured by linking to Stack
Overflow.
Reinstate falling back to self.text for JSON responses

A JSON response that has no encoding specified will be decoded with a detected UTF codec (compliant with the JSON RFC), but if that fails, we guessed wrong and need to fall back to charade character detection (via `self.text`). Kenneth removed this functionality (by accident?) in 1451ba0c6d395c41f86da35036fa361c3a41bc90, this reinstates it again and adds a log warning.

Fixes #1674
Remove logging and charade mention.

Logging is Not Allowed, so out it goes.
One last Charade reference to remove here.
Remove unused loggers.
Merge pull request #1901 from mjpieters/chardet-not-charade

One last Charade reference to remove here.