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.
Centralize handling of differences between clone_ implementations

Refactor duplicated code into a single method of WorkingArea
Merge pull request #108 from MarkEWaite/master-refactor-CliGit-clone-dependency

Centralize handling of differences between clone_ implementations
Merge pull request #107 from MarkEWaite/master-fix-test_fetch

Extend test_fetch to assert actual results of fetch