We now include the prelude in so many places, this simplifies how we can
present how `cargo-test-support` works.
Yes, this included some `use` clean ups but its already painful enough
walking through every test file, I didn't want to do it twice.
While this is noisy and hides other deprecations, I figured deprecations would
make it easier for people to discover what tasks remain and allow us to
divide and conquer this work rather than doing a heroic PR.
In theory, this will be short lived and we'll go back to seeing
deprecations in our tests.
Improve integration of the http server introduced by the http-registry feature.
Now the same HTTP server is used for serving downloads, the index, and
the API.
This makes it easier to write tests that deal with authentication and
http registries.
This is intended to help prevent the following scenario from happening:
1. Old cargo builds an index cache.
2. Old cargo finds an index entry it cannot parse, skipping it,
and saving the cache without the entry.
3. New cargo loads the cache with the missing entry, and never sees
the new entries that it understands.
This may result in more cache thrashing, but that seems better than
having new cargos missing entries.