add GerritChangeFilter

Its not very clear for people how to use gerritchangesource to filter
gerrit change events, and create builds.

add GerritChangeFilter, which is a simple general purpose filter, which
manage most of the changefilters needs

doc + tests

and some whitespace fixing in the doc.

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
gerritfilterbranch: more factorization

This comes at the prize of a little bit of complexity

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
gerritchangesource: fix grouping for Nightly schedulers

for nightly and post-commit style schedulers,
you really need to have the branch to be the real gerrit branch
or the list of changes in the UI will be incorrect

This is a simple way of implementing it, probably by separating the
change grouping to the notion of change branch

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
gerritchangesource: test branch is branch for event type != changeset-created

and some cleanup of failUnless* API usage

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
Wrong error messages for a failed rebuild
Don't pass HEAD to git describe with --dirty

The 'git describe' manual explicitly distinguishes --dirty as not
taking a commitish, so don't pass one.  Fixes #2764.
fix review commentsa

+import reorder
Stop doing builds for merged in commits.

Those commits have already been tested by buildbot in the past. Only
the merge itself needs to be tested.
Update index before applying try patch with git.
Previous commit was missing unit test changes
pep8
Add a debounced method decorator
align nine and master docs for buildsteps
Add 'summary' handling for new-style steps
remove setStateStrings
Merge branch 'buildbot-0.8.9'
fix pyflakes
make startConsuming return a Deferred

This will be necessary for some MQ plugins.  Fixes #2669.
Merge branch 'gerrit_change_filter' of github.com:tardyp/buildbot
Merge remote-tracking branch 'buildbot/master' into nine

Signed-off-by: Pierre Tardy <tardyp@gmail.com>

Conflicts:
	master/buildbot/test/unit/test_changes_gerritchangesource.py