Rename #extension_install_dir to #extension_dir.

The name is shorter and easier to type. It is the analogy to #gem_dir,
which does not contain the "install" word as well.
Merge pull request #739 from voxik/rename-extension_install_dir

Rename #extension_install_dir to #extension_dir.
Fix the #extension_install_dir comment to reflect reality.
Avoid garbage gem.deps.rb.lock from test

TestGemRequestSet#test_install_from_gemdeps_install_dir used a Tempfile
for the gem.deps.rb.  When the .lock file is created during installation
it creates a new file in Dir.tmpdir which is not deleted.

Now the test uses plain open inside the rubygems test temp directory
which will get cleaned up properly.

Fixes #729
Use io/console on prior to 1.9.3 if it is aviable
Remove duplicated setup of spec.load_path

load_path is set already by Gem::Specification.load
Fix Gem::Source::Git example.
Cleanup @gem_dir in class which declares it.
Allow to override default extension_dir using operating_system.rb

This follows the same logic as gem_dir overrides, although
default_ext_dir_for requires base_dir parameter. This allows to install
gems for example into /usr/share, but their extensions into /usr/lib64.
Merge pull request #743 from voxik/cleanup-gem_dir-in-correct-class

Cleanup @gem_dir in class which declares it.
Merge pull request #742 from voxik/fix-gem-source-git-example

Fix Gem::Source::Git example.
Merge pull request #741 from voxik/remove-duplicate-setup-of-spec.loaded_from

Remove duplicated setup of spec.load_path
Merge pull request #737 from Who828/master

Use file locks to ensure safety when being installed in a parallel
Add #737 to History
Merge pull request #740 from nobu/io-console

Use io/console on prior to 1.9.3 if it is aviable
Fix test bug after #740
Order requires in Gem::TestCase
Add #740 to History
Fix Gem::DefaultUserInteraction documentation

This was accidentally broken by @68da16d
Sort autoloads