Add more tests to `test_invalid_url`

This adds tests for the behavior introduced in b149be5d, where
`PreparedRequest` was made to skip `parse_url` for e.g.
`localhost:3128/`.
Merge pull request #2222 from blueyed/fix-MissingScheme-for-hostport

Add tests to test_invalid_url for `InvalidSchema`
Document skipping in PreparedRequest; followup to #2222
Merge pull request #2223 from blueyed/doc-followup-2222

Document skipping in PreparedRequest; followup to #2222
Added example of how to send multiple files in one request.
Moved multiple files upload example to advanced section.
Merge pull request #2227 from mjul/master

Added example of how to send multiple files in one request.
Fixup the remaining references to timeline.json.
Remove invoke from requirements.txt, docs
Merge pull request #2237 from buttscicles/contributing-update

Remove invoke from requirements.txt, docs
Avoid getting stuck in a loop

This prevents a case where we make a request to URL A, which 301s to B which
would then 301 back to A. Alternatively, for less simple schemes, this will
also prevent us from getting stuck in a loop, e.g., it will prevent the
following from causing an endless loop:

    A -> B -> C -> D -> E -> F --
    ^                             \
    |                             /
    ---<------------<----------<-
Correct redirection introduction

The history attribute contains responses, not requests.

Thanks to Yang Yang for reporting this to me via email
Merge pull request #2245 from sigmavirus24/doc-fix

Correct redirection introduction
Merge pull request #2244 from sigmavirus24/bug/2231

Avoid getting stuck in a loop
docs: Clarify how to pass a custom set of CAs

This new wording makes it hopefully easier to find how to override the
system-provided list of trusted CAs. I failed to find this through some googling
and had to resort to asking on IRC previously.
Merge pull request #2248 from jktjkt/docs-CAs

docs: Clarify how to pass a custom set of CAs
Support bytestring URLs on Python 3.x
Merge pull request #2238 from buttscicles/byte-urls

Support bytestring URLs on Python 3.x
Update how we handle retries to be consistent with documentation