Added Git::exec.

Eliminates a lot of uncovered throw statements and simplifies most
methods.