test a working copy with identical files

This test suite creates a working copy with files with identical contents.  The
two files are created on different commits.  It exposes a couple of problems:

- Git: thinks the two files were made on the same commit
- Hg: doesn't report the commit
clean up and make CopyTest more robust

Test now considers three files:
  * an original file
  * a file with the same contents as the first
  * a file which also had the same contents, but has changed
    somewhere in between, and reverted

Other functional changes:
  - add new file to other test cases
  - removed some unnecessary flags
  - remove test_log2 altogether since it doesn't seem to add much

Other non-functional changes:
  - add some comments to describe the working copy created
  - coding style matching
Merge branch 'release/1.3.1' into develop
make GitRepo.empty() work correctly when there is no master branch

Also include test cases to expose the issue.

Issue #41
Merge branch 'feature/fix-copy-cache' of https://github.com/OEP/python-anyvcs into feature/fix-copy-cache
set vi modelines
fix cache miss in HgRepo.ls(report=['commit']) for non-directories

Close issue #42
Merge branch 'develop' into feature/fix-copy-cache
PEP8-ify feature/fix-copy-cache from OEP
use path+nodeid for changeset lookup

this is for issue #40
Merge pull request #43 from OEP/feature/fix-copy-cache

use path+nodeid for changeset lookup
fix encoding errors for python3
slight improvements in GitRepo.ls(), .changed(), and .pdiff()

ls(): lock down a particular rev
changed() and pdiff(): tell git-diff-tree to not print commit id
make HashDict map from str to bytes
Merge branch 'develop' into feature/fix-copy-cache
svn revisions like head:rev should not have leading /
add test cases for VCSRepo.tip()
implement VCSRepo.tip()
add test case and functionality for HEAD
documentation improvements

- move VCSRepo documentation into anyvcs.rst
- delete anyvcs.common.rst
- add more flowing text for readability