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).
I can fix the typo in a separate commit.

I am now aware of the multiple ways to set it, that's what this comment, and the one above referring to ssh_config(5) are all about. But I can make this more obvious when I fix the typo.