Vastly simplify git data migrators

I'm also removing the ssh_key module, as it adds a huge amount of complexity
and doesn't really make any difficult problems go away, insofar as anyone
using the migrator will still have to know the credentials of the migrator
account in order to log in in the first place.
Move exceptions into ghtools.exceptions
Major refactoring of Organisation and Repo

This commit extracts repository operations into ghtools.github.Repo, leaving
ghtools.github.Organisation to do the bare minimum of repo creation/fetching.

Both Organisation and Repo take an identifier string as their sole mandatory
constructor argument, i.e.:

    Repo('rails/rails')
    Organisation('alphagov')

or, for an enterprise instance or other alternative GitHub:

    Repo('myghe:mycorp/myproject')

etc.

I haven't yet refactored the command modules to make use of this
simplification.