Use Git::Raw to commit.

Probably faster.

Git::Repository messes with STDERR and that gets in the way of debugging.
Git::Raw errors from libgit2 go directly to STDERR and need special
tied handle magic on STDERR to get a stack trace.
Clone with a backoff in case the repository doesn't exist.

This is the solution to the mysterious "Unexpected HTTP status code: 404"
we're getting from clone.  Try it a few times in case the Github API
lied to us and is still making the repository or in case of a
network hiccup.

Also improve the backoff error diagnostics for push and pull

For #90
Use Git::Raw to add

Probably faster.  Moving towards using one module for Git.
Only affects the tests.