phlgit_show: add 'file_on_ref'

So that we can retrieve files from arbitrary branches without having to
do 'checkout', expose the functionality of 'git show' for showing paths
at refs.

This will be needed by per-repo configs.

Test Plan:
$ ./precommit.sh
exercised by repoconfig feature
Arcyd: per-repo configs at 'refs/config/arcyd'

Support per-repo configuration that users can edit for themselves
without requiring direct access to the daemon.

Watch the 'refs/config/arcyd' ref for a file 'repo.json' which describes
the per-repository configuration.

Implement a hierarchy of configurations:

- (default)
- repo-specific at command-line
- repo-specific at refs/config/arcyd

Configuration currently supports:

- repository description
- branch format string for repo
- review format string for repo
- admin emails (for griping about unknown users)

This leaves space for a global config to be inserted after '(default)'.

Test Plan:
$ ./precommit.sh
inspect
$ ./testbed/arcyd/status_html_testbed.sh
add config to and run
$ ./testbed/arcyd/acceptance_tests.sh
Merge branch 'land/repoconfig' into feature/repoconfig