implement reporting last changed commit for GitRepo.ls()

This is issue #17
Merge branch 'develop' into ls-report-commit
add test cases for VCSRepo.ls() with commit in report
correctly report commit on root
report commit in HgRepo.ls()
speed up reporting last commit by a bit - can do better
correctly report commit for / when directory=True
drastically speed up reporting commit for ls()
cache file revision hashes like we do for git
make git more consistent with hg
report last commit in ls()
improve BasicTest.test_ls_report_commit* test cases
pass HgBasicTest.test_ls_report_commit5
add documentation for VCSRepo.ls() with 'commit' in report
Merge branch 'ls-report-commit' into develop

This finishes issue #17