add phlsys_git.tmprepo_context

Supply a context manager for creating and disposing of a temporary git
repository.  This has come up alot in unit tests in the past and should
make testing easier.

Test Plan: $ ./precommit.sh