Fixed installing gems with extensions under -V

Commit f815636f changed the return value of ExtConfBuilder#build to nil
from the input result array.  When running with -V RubyGems prints the
results of compilation by joining the returned Array.  nil does not have
this so a NoMethodError was raised.

Fixes #601
Synchronize interaction with the connection store

On JRuby this operation on the connection store hash is not thread safe
and results in race conditions.

Fixes #597
Fix connection retrieval due to mis-scoping
Fix extension building on Ruby 1.9.3 and mingw

Supplying DESTDIR on mingw causes link errors due to reasons I don't
understand (see the related bug).  Now, on 1.9.3, DESTDIR is not
supplied to the make command which prevents the bug.  Ruby 2.0.0 behaves
as before.

Fixes #594, see also duplicate bug #599
Fix unused variable warning
Extract clear_all from SourcesCommand#execute
Extract add_source from SourceCommand#execute
Extract remove_source from SourceCommand#execute
Extract update from SourceCommand#execute
Extract list from SourceCommand#execute
Extract show_commands from HelpCommand#execute
Extract show_help from HelpCommand#execute
Extract show_command_help from HelpCommand#execute
Extracted specification_directories from ContentsCommand#execute
Extracted path_description from ContentsCommand#execute
Extracted gem_names from ContentsCommand#execute
Extracted gem_contents from ContentsCommand#execute
Add tests for missing gems
Extract spec_for from ContentsCommand#gem_contents
Reorder methods in ContentsCommand