campaigns: Handle branches deleted on merge
Created by: ryanslade
It is possible that when we try and fetch the head revision it no longer exists as it has been deleted. This commonly happens after a merge.
Instead, if we can tell that a changeset has been merged we'll try and find the merge commit and use that.
Also, we now signal that is it possible for a head revision not to exist by making it nullable in our API.
Fixes: https://github.com/sourcegraph/sourcegraph/issues/10542