Resolve spec source file when setting loaded_from

When uninstalling a gem the specification's directory and GEM_HOME are
compared to make sure the gem comes from the installation directory.  If
these don't match the gem is not installed.

When the specification's file name is not fully expanded it will not
match GEM_HOME (which is) so rubygems will incorrectly refuse to
uninstall the gem.

Now the directory is expanded.

Fixes #708