* Allow override for the shared gem installation directory for
rubygems packagers.
* Lock gem cache files for read and write to improve thread safety.
* Use io/console when available.
* Minor cleanup.
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e