Add a repository class

This class should eventually encapsulate all the git related calls.
Clone, available_remotes, and available_branches has already been
migrated.