initialize: choose a different token (with timestamp) when a taken already exists.

We do not delete the existing token because it might be in use by a different machine
or checkout.
The user is responsible to manage existing tokens.

We cannot reuse the same token because we don't know the token secret.

Therefore a new token is generated, with a timestamp in the name so that the user
can distinguish the tokens.
Fix case typo in initialize.
Support private repos / organisation membership. Closes #4

The problem was that when a user was a member of an organisation with only private
repositories the script did not have enough privileges to see the organisation membership
or the private repository access.

In order to cover both problems the initializer now generates a token with the additional
access scope "repo", which gives the script access to private repositories in order to
manage their notification subscriptions.
This additional scope implicitly also gives the script read access to the
organisation memberships, allowing it to manage all repository subscriptions properly.