Install gems when $HOME does not exist

During gem installation RubyGems caches files in the home directory.  If
the home directory did not exist or was unwritable RubyGems would raise
an exception even though it had the ability to avoid updating the cache.

Now, when checking to see if the cache should be updated, RubyGems
no longer raises an exception.

Fixes #689
Remove extra '..' in require_paths

When a gem has extensions, require_paths includes a relative path to the
extension install directory.  This relative path included an extra '..'
because I forgot that the other require_paths were relative to
the #full_gem_path, not the lib directory.

Reported by Santiago Pastorino