Refactor code for clobberOnFailure. Don't clobber() for this case, use independent functions
Don't allow git source step to make shallow in any mode other than clobber

Fixes #2154
Also decode the filed names when force-building.

With ForceScheduler, it is possible to have semi-arbitrary names. This
also cleans up the arg-preprocessing code somewhat.

Refs #1054.
Allow forcing on multiple builders at once.

The web status currently does this by forcing multiple times, once for each builder,
creating a separate buildset for each. Instead, teach ForceScheduler to support
starting multiple builders in a single buildset, and refactor the webstatus code to
support that.

Fixes #2342.
Git: Don't break when there is a file called `FETCH_HEAD`.

We want to refer to the branch FETCH_HEAD, not a file, so let git know that.
(Reported by loul2 on #buildbot)
GitPoller: Disambiguate versions from file names.

The revision that we use for GitPoller are probably never going to exists
as files, but it doesn't cost us anything to avoid issues here.
WIP: Adding UserCancel to list of available status. (ref: Moz bmo: bug
- Updated docs and comment.
Update pyflakes project url.  divmod.org says it's offline, and to use launchpad instead.
- Added UserCancel to words.py and buildstep.py.
- Added pink (actually magenta) to default.css for usercancel status.
- Added 'usercancel to list of states in comment.
- Added Usercancel state and code to mail.py.
Fix BuildStatus.getAllGotRevisions to properly handle vcs that use int.

Fixes #2388, #2380.
Remove Blocker step.

There are no tests or documentation, and it has been broken for several releases.
Raise ImportError instead of exiting, if buildbot.test can't be imported.

This apparently causes issue with 'pydoc -k', and is in general not nice.
Trial still fails with a sensible error message.
Make pyflakes happy.
SetPropertiesFromEnv: Use properties from slave, rather than set on master.

The old implementation incorrectly used the set of environment variables set
on the master, rather than those retrieved from the slave, when setting properties.

Fixes #2393.
SetPropertiesFromEnv: Properties from the slave will always be strings.

So the tests should use strings there too.
SetPropertiesFromEnv: Log property changes.

Fixes #2361.