Added new Repo class (private methods not done).
Some Repo methods return the Repo object.
Use system git for Repo private methods.
Use Repo in Environment.
Remove auth from Repo.
Use File.join for repo cache defaults.