Improve handling of repository listings
Improve handling of repository listings

Provides a wider range of backup capabilities, rather than only the
specified user’s public repositories.

1. Client is unauthenticated

   Backs up the specified user’s public repositories.

2. Client is authenticated and the login matches the username option

   The user specified by the username option is the authenticated user
   so both public and private repositories are backed up.

3. Client is authenticated but does not match the username option

   Backs up the specified user’s public repositories. Private
   repositories are accessed by using the same username as the login
   of an authenticated client (see above).

4. Client is unauthenticated and the username is an organisation

   Backs up the specified organisations’s public repositories.

5. Client is authenticated and the username is an organisation

   Backs up the specified organisations’s public repositories and the
   private repositories that the authenticated user has access to.

ddollar/github-backup,garethrees/github-backup