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).
Tyop...

And besides, there are two ways to set the IdentityFile: host-specifically and globally.