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.
Merge branch 'log-env' into buildbot-0.8.7
Make sphinx happy.
Git: Fix cloning with default branch.

``git`` doesn't like it when we specify the default ``HEAD`` to ``git-clone``
using ``--branch``.
Git: Document that not specifying a branch gets the default remote branch.

This has been the behaviour since 0.8.6, so fix the documentation to match.

Refs #1773.
tweak scheduler_masters table to use schedulerid as primary key
builder rtype docs, implementation, and calls from process, without db backend
add builders and builder_masters tables
add DB API for builders
builders: use DB API from data API
Keep resource types as attributes of the data connector

This permits resource types to call each other to coordinate.
Test full-fledged master startup and shutdown.

This tests that the master basically works, and that the shutdown
process stops any outstanding timers, etc.  By running the master twice,
it also ensures that any stopService state cleanup occurs.

It turns out there were a few places where listeners were not being
released properly, deferreds not handled, etc.; fixes for those are
included here.

This also adds __repr__'s to pbmanager.py; they were useful in debugging
and don't hurt!
add a few extra unit tests for bugs identified by test_master
Merge branch 'test_master'
Link resource types in self.master.data.rtypes
test masterStopped update method
Integrate builders with masters
bind to an unused port when testing master; refactor the two tests