Add a kluge to handle pushes to branches with exactly one commit
When pushing to a branch, githelper checks if the old head of the
branch is reachable from the new head following only first-parents.
As an optimization, no more first-parents are followed once the old
head has been reached, which is to say old^ and its ancestors are
excluded from the rev-list. However, if old does not have a parent,
then rev-list fails to interpret old^. So as a kluge, detect this
case and disable the optimization as needed...