Extend test_fetch to assert actual results of fetch

Earlier test was testing that the source repository had the same SHA1
before and after the fetch.  Since the source repository is not
modified by a fetch, the test would never be expected to fail.

The new test constructs a working repository with a commit, clones it
to a bare repository, then clones the bare repository to a second
working repository.  Once the second working repository is ready, a
change is committed to the original working reposit, then pushed to
the bare repository and fetched into the second working repository.