Display Gem::Source API URI correctly in pretty_print
Allow setting repository for spec_fetcher

This allows multiple source repositories to be set up easily from the
tests using TestCase#spec_fetcher.
Handle multiple gem sources correctly

Now each source has its own GEM section header.
Use RequestSet#requests for lockfile dependencies

Now RubyGems uses the requests instead of the dependencies to generate
the lockfile.  This means rubygems generates a smaller set of entries
than bundler, but it seems to be the only way to implement handling of
git dependencies properly.

This commit may need to be reverted.
Remove unused variables
Conditionally install gems from a lockfile

Previously locked gems were considered installed, but this is incorrect.
Now they are installed if their specification is missing.  This may not
correctly handle git or default gems.

Part of #727
Git gems are always re-installed
Return :EOF when peeking at the end of a lockfile

This allows handling of dependencies to work properly lockfiles that do
not have a trailing newline.

Part of #727
Set GEM_HOME for extension building

RequestSet#install_into needs to set GEM_HOME so that the extension
building can find previously installed gems.

Part of #727
"HEAD" should be uppercase
Fix doc typo (s/varibles/variables)

[ci skip]
Merge pull request #731 from amatsuda/varibles

Fix doc typo (s/varibles/variables)
Add #731 to History
Store vendor specifications by name only

There should not be duplicate vendor specifications in a VendorSet.
This allows polymorphism with GitSet for supporting PATH in a lockfile.
Parse PATH from a Gemfile.lock

This was missed because I am really tired and haven't run any of the
bundler tests against rubygems yet.

Part of #727
Fix `gem install i -g` for missing gem.deps.rb

Previously RubyGems would give a useless exception when there was no gem
dependencies file but the user requested installation using one.

Now a useful message is given.

Fixes #734
Typo "you way wish" for "you may wish"
Merge pull request #736 from elgalu/patch-1

Typo "you way wish" for "you may wish"
Add #736 to History
Use file locks to ensure safety when being installed in a parallel environment