Allow non-fast-forward pull

TODO: A non fast-forward pull will make the branch not pushable as we do not yet support non-fast-forward push. That is upcoming in the next cl.