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>
Merge branch 'bug2278' into buildbot-0.8.6

Conflicts:
	master/buildbot/test/unit/test_buildslave.py
Allow Domain class to be specified by Connection class

This allows subclasses of Connection to use a subclass of Domain
without any fuss.
More wrappers for libvirt API

Allows enumeration of libvirt VM's that are already running when
buildbot starts.
Can use inlineCallbacks now
Cope with orphaned build slaves

When insubstantiate_after_build is False you can get orphan slaves
that are duplicated when you restart buildbot. This prevents that
by enumerating existing VM's and attempting to match them to
defined slaves.
Fix typo in log message
Make sure we can't start new builds when a latent slave is shutting down
Try and unify build_wait_timeout and insub_after_build

When i added insubtantiate_after_build i wasn't aware of the
build_wait_timeout option. They are both "how quickly should the
slave go away" options, so unify them and support a "never turn
the slave off" option.
start_instance much more readable with inlineCallbacks
Complain nicely via the configuration loader if libvirt isn't available
Add some basic tests
Add more tests
Move libvirt fake to buildbot.test.fake
Update documentation for build_wait_timeout
Refactor getNextBuildTime into base class.
Add initial implementation of NightlyTriggerable.

This scheduler responds to Trigger steps, but only builds the most
recently triggered source stamp, when a timer fires.
Factor out NightlyBase tests into a separate file.
Add tests for NightlyTriggerable.