Small reliability improvements to pristine command

Three small improvements in three commits, of which the first two are bug fixes and the third is an improvement:

1. skip pristine install for non-cached gem unknown at remote source
2. fetch gem to proper cache dir when gem path is not gem home
3. skip pristine install for old Ruby bundled gems

Details and motivation are in the commit messages.

I'm unsure if the 3rd change should be made available to other gem commands as well. I don't know if that would cause unexpected effects.
I think https://github.com/tkareine/rubygems/blob/pristine-command-skips-invalid-gems/lib/rubygems/commands/pristine_command.rb#L107-L115 could be extracted to extra method to make it easier to read, maybe `default_gem?`?