Create a Git::Repository object on demand only.

Git::Repository->new() requires being in a git repository, which is fine when
the tests are setting up a separate test repo to run hooks in, but doesn't work
when we're trying to test the App::GitHooks class itself in isolation. To solve
this, we only create the Git::Repository object on demand, and
App::GitHooks->get_repository() will have to be tested differently but all the
other methods should be testable without having to set up a separate test repo
now.