Add changes for new branches in GitPoller

With the new branches=True argument for GitPoller to watch all
branches, _process_changes() does nothing if a new branch is pushed. The
only time it adds changes to the database is when a new commit is pushed
on an existing branch. This is unfortunate because this means in order
to have buildbot build all git branches, one must first push the branch,
wait for GitPoller to detect it, and then push new commits on the
branch.

http://trac.buildbot.net/ticket/2837
Print detailed information if _dovccmd() in GitPoller fails

Otherwise the outputted information often isn't sufficient to debug the
problem.
Exclude all commits we already know about
Store revs in ascii strings, not unicode.

This is to avoid Twisted complaining about unicode arguments being
passed to reactor.spawnProcess.

Also: release notes

Conflicts:
	master/buildbot/changes/gitpoller.py
Merge pull request #1433 from delanne/gitpoller-do-new-branches

Gitpoller do new branches