add mirror support. each uri to a repository can be replaced by an
mirror uri via the bundler configuration. add mirrors like this
$ bundle config mirror.http://rubygems.org http://localhost:8081/nexus/content/repositories/rubygems.org
move public methods to top

seems in line with conventions in rest of project
Move gem mirror code to be consistent with other features

Factors the gem mirror code similarly to the local git repos feature.

Questions:
* RubygemsMirror class does very little other than provide a static
  location to replace URIs with the desired mirror. Should it exist?
* URI normalization is duplicated. Is there a good single location?
* Validation of mirror URIs occurs in Settings, which contains no other
  validation code. Is there a more desirable location for this?
* Is there a better solution for case-sensitive URIs?
add specs for gem mirror support
add more exposition to mirror config manpage
Change code to print the mirror source
during Fetching... when run bundle install or bundle update
rspec test to make sure mirror prints the mirror source
Merge pull request #2650 from joyicecloud/gem-mirror

Gem Mirror Support (with specs) (PR #2366)

Conflicts:
	lib/bundler/fetcher.rb
move RubygemsMirror.to_uri to Source.mirror_for