Fix gitfs tests

This changes how the setUp function initializes and commits the repo
used as a gitfs remote by these tests. Instead of using the git.Git
class, it simply uses the index object to add and then commit. See here
for more info:

https://pythonhosted.org/GitPython/0.3.1/tutorial.html#the-index-object

Additionally, file_hash() and serve_file() are designed to check copies
of files that have been retrieved from the blobs, in
$cachedir/gitfs/refs/$saltenv/path/to/file. The paths have been fixed in
these two tests, and the sha1 test has been renamed to ensure that it is
executed after test_find_file, so that the file exists in the cache.