Fix a traceback when running with git on cygwin.

Because cygwin paths can sometimes get different results (either C:\... or
/cygdrive/...), we need some special handling for determining the toplevel
directory of the git clone.

Trivial change.
Fix posting submitted changelists for perforce.

The code to post submitted changelists would end up posting a diff  for both
the intended change and the one preceeding it. This is because we passed in
our (base, tip] revisions for 'p4 filelog', which itself behaves as [base,
tip]. To work around this, I've added code to increment the base revision
before calling filelog.

Testing done: Ran unit tests.

Fixes bug 3347.

Reviewed at https://reviews.reviewboard.org/r/5837/