Produce a more helpful message for unpushed commits

git-safe-to-checkout produces an error if HEAD isn't contained
in any remote branch, but the phrasing of this error message
(using DVCS jargon like "blessed repository") was confusing to
people.  This commit changes the message to list the commits
that might be lost and hopefully has a clearer message - it
should now look like:

    Error: Switching to a new commit in /home/mark/whatever
    would risk losing the following commits that haven't been pushed to a remote:
    
    8f1fdcd Losable commit
    
    git-safe-to-checkout: You should resolve this manually.