Check default files for public keys if not set up in ~/.ssh/config.

Basically, if `~/.ssh/config` does not have an `IdentityFile` field, it will check `~/.ssh/id_rsa` and `~/.ssh/id_dsa`. At the moment, it was simply failing with "Could not initialize update site".

I took the parsing of the config file out into a separate method because it seems, according to ssh_config(5), that there's a lot more ways to specify where the identity files could be and it seemed that this would keep it cleaner in the future.

For future note, it appears that it might make more sense to collect an array of available identity files, which would be tried later on:

> It is possible to have multiple identity files specified in configuration files; all
> these identities will be tried in sequence.  Multiple IdentityFile directives will add to
> the list of identities tried (this behaviour differs from that of other configuration
> directives).
Ah, I see, you added a different method in case no config exists. I would not do that. It's technically the exact same function: we are reading the configuration of the user (and private keys are very much user configuration, too).