vstudio: default to config='release', as documented
fix 'don't know how to test this' skips

One was correct (and only needed a change from ValueError to
ConfigErorr).  The other is but one in a large class of
string-substitution syntax errors. We can't hope to catch them all, and
the techniques required to catch a few would probably give us headaches.
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.
mercurial source step: don't update during pull, it will be done later on
mercurial: blame vim, indentation was not correct
Merge branch 'mercurial' of git://github.com/benallard/buildbot

* 'mercurial' of git://github.com/benallard/buildbot:
  mercurial: blame vim, indentation was not correct
  mercurial source step: don't update during pull, it will be done later on
Add an interface for Slave Protocol

Signed-off-by: Saurabh Kumar <saurabhgeek92@gmail.com>
Change slave-master calls to interface calls.

Bot should implement ISlaveProtocol interface.
BuildSlave and SlaveBuilder should call masters through ISlaveInterface.

Signed-off-by: Saurabh Kumar <saurabhgeek92@gmail.com>
Fix buildslave_gracefulShutdown test
Separate pb parts from SlaveBuilder
Fix for graceful_shutdown test

Correct fix this time.
Use buildername instead of builder
Add tests for PBSlaveBuilder