Add support for .git-file.

This extends the Repo class to work with repositories using the .git-file mechanism: http://kerneltrap.org/mailarchive/git/2008/2/4/719364. Tests included.

This has the side effect of fixing the tests for submodules created by the current Git CLI, which is why I put the .git-file tests in front of those tests.