Add Source::Git#base_dir
Set correct directories for git gem specifications

This will allow extensions to be installed into the proper directory.
Add Source::Git#root_dir

This allows installation directories other than GEM_HOME.
Add Resolver::GitSet#root_dir

This allows installation of gems outside Gem.dir
Respect install_dir for gem.deps.rb installs

Now RubyGems will install gems into a --install-dir directory if you so
wish.
Allow extension_install_dir to be changed

This also caches extension_install_dir.
Fix installation of git: gems

This introduces a functional test for Gem::Ext::Builder which ensures
that the builder looks for the extension source in the correct place.