Support multiple local git commits in a git-svn repo

If you have two local commits and want to make a review for the changes
in the most recent commit, then "ancestor" will not have a corresponding
subversion revision.  This is okay, however.  We'll just use the
subversion revision for the merge-base, which is the most-recent-commit
that is in SVN.

Testing done:
Logically behavior is only changed in cases where we would crash, before.
Returning "None" causes len(None) to throw an exception.

Making a review using "post-review --revision-range=HEAD^" in a git-svn
repository with multiple local commits results in the expected behavior: a
review is created and the diff shows only the changes from HEAD.

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