Handle all_changed_files=None in get_possible_conflicts
Compare upstream with common ancestor to see if a rebase might be needed
Add a test for list_upstream_changes
Use a custom PR representation so #NUMBER can be auto-linked
Unrelated cleanup, use get_current_sha1 in safe_merge.
Move conflict msg creation into a separate function

flake8 was complaining about an overly complex method:
scc/git.py:1467:1: C901 'GitRepository.merge_pull' is too complex (12)
Prefix upstream conflicts with 'Possible conflicts:'