Repository should require name and user

The name and user is required in order to uniquely identify the
repository. We do not however specify that the attributes are required.
Make them required so that we get errors if we leave them out.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Add support for cloning with git protocol

We only support cloning over ssh and https. We should also include
support for cloning using the git protocol. Add it as an option to
the --protocol flag and use the corresponding field in reply from
GitHub.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>