Rejigged SSHInterface to correctly use SshSessionFactory.

Of course, it still doesn't work correctly.
GitInterface now correctly uses ssh keys.

The default anonymous ssh key is now shipped in gitquest-core in the
subdirectory /.ssh/id_anon. This anonymous key can be used to access the
account gitquest-anon@github.com in such a way that git can push but no
crucial account details (such as the password or ssh key) can be altered.
Theoretically, the only security hole is that the user can force-push to
delete the backup history.