Add ability to pause build-slaves.

Signed-off-by: Tom Prince <tom.prince@ualberta.net>
Start implementing option to pause a slave.

Signed-off-by: Tom Prince <tom.prince@ualberta.net>
Extend make_master to optionally create the db object, as well.
Add StateMixin helper.

This class factors out the helpers used for accessing object state
in the database.
Add a nice __repr__ to GetProcessOutputMixin.

This makes the test failure output more useful.
Fix typo in GetProccessOutputMixin failure.
Rewrite gitpoller.

The original gitpoller had a number of issues:
- it supported a single branch
- it needed a seperate workdir for each poller.
- it was easily confused by changes to the underlying workdir.

The new gitpoller solves the above issues.
- state is stored in the db, rather than implicitly in the repo.
- the workdir is treated as a stateless cache.
- it was easily confused by changes to the underlying workdir.

Notes:
- Only a single gitpoller can usefully be pointed at a given repo with a single db.
  Otherwise, the db state will get confused.
- There is currently no support for migration from the old to new poller state.
- `git init` supports an argument for a directory to create starting with
  git 1.6.5. Since we depend on git 1.7 this isn't an issue.
Merge remote-tracking branch 'origin' into git-poller-rewrite

Conflicts:
	master/docs/release-notes.rst
gpo: Test that getProcessOutput{,andValue} are called with the correct path.
Don't allow arbitrary keywords in testing getProcessOuput.

If we need to pass other arguments, then we should be testing that those
arguments are passed correctly.
Make split_file_branches reject files named "trunk" and "branch/<filename>";
Make sure directories end with a right slash when fed to the split_file function;
Update example in the Customization section of the manual.
Update release notes about SVNPoller's split_file;
Update documentation of SVNPoller's split_file;
Fix grave accent mismatch in the Customizing SVNPoller section.
Fix `DirtyReactorError` caused by `PollingChangeSource` calling `callWhenRunning`.

trial has an unusual interaction with the reactor. The reactor is only running when
waiting for a deferred (and not a synchronous one). This avoids calling the real
`PollingChangeSource.startService` to avoid this.
Report repo not workdir when polling git.

Since we now default to using the same workdir for every poller,
it makes more sense to report the remote repository instead.
Fix comment in GitPoller.
Merge remote-tracking branch 'github/git-poller-rewrite'

Conflicts:
	master/buildbot/schedulers/base.py
Replace check for not None with check fot not ''

request.getUser() return the empty string if no user was supplied.
http://twistedmatrix.com/documents/12.0.0/api/twisted.web.http.Request.html#getUser
Merge branch 'fix-svnpoller-split_file_branches' of git://github.com/flaviojs/buildbot

With updated text in master/docs/release-notes.rst
Add httpLoginUrl argument to Authz. And login link to Template.

Allow to specifie a login url to render a login link in case of
useHttpHeader Authentication.
Last but not least some documentation.