Use the last redirected URL to create the Gem::Resolver::APISet

In the case that `bundler_api_url` redirects to another URL, this
prevents unnecessary 302s every time the API Resolver requests
dependencies for a gem.

This shaves about 3.5 seconds off the time it takes for me to run
`gem install sinatra`. Even more time is saved when installing gems
with more dependencies.
delegate prefetch to @remote_set in Gem::Resolver::InstallerSet

APISet has a #prefetch method that can request multiple specs at once,
but it was never called, meaning each dependency required a separate
request to the Bundler API.
Simplifiy `--debug` test
Use $VERBOSE to control warn output

Overriding Kernel#warn doesn't allow us to test warnings in
Gem::ConfigFile.  This was broken by @1bc83df because nobody remembers
that $VERBOSE controls Kernel#warn.
Print an extra message when --debug is set

Many people file bugs against RubyGems because they don't know what
--debug (and $DEBUG) do to ruby.  Now we print a message that will
hopefully make it a bit more clear.
Add #808 to History
Merge pull request #809 from tenderlove/faster_levenshtein

Speed up levenshtein distance
Added #809 to History
Update History with 2.2.2 release date
Merge pull request #773 from charliesome/reduce-api_set-requests

Reduce APISet requests
Fix broken test added after #773

This test was written after #773 (at least, I'm pretty sure it was) so
fix it to work with the URI check.
Update #773 for ruby without HTTPResponse#uri=

Older ruby does not have this feature so we have to fall back to the
slow way.
Add #773 to History
refactor checking `really_verbose`

This commit tries to reduce the number of places in RubyGems where we
test `really_verbose`.