This PR updates most dependencies (except for clap, will get to that one if desired or after this PR).
It also uses auth-git2 to support cloning private repositories.
auth-git2