Skip Sign-In if a non-rubygems API Key is already being used

Also DRYing up yank_command to use the centralized key methods.

I'd love to change sign_in to allow you to sign in to a non-rubygems gemcutter (I believe rubygems currently always overwrites rubygems_api_key without taking the host into account), but that's a much bigger change. Happy to get any advice on how/if that should be tackled at some point.