Monkey patch recent gatherResults on old versions of twisted.

Newer versions of gatherResults support consumeErrors, which we would like to use.
Merge branch 'gatherResults'
Handle slave disconnections during build start better

This:
 - checks for a slave disconnection at the last possible moment
 - handles exceptions from startBuild's deferred better
 - treats errors in startBuild as EXCEPTION, not FAILURE

Fixes #2427.
comment about maybeDeferred use; better log.err message
Reference relevant bug.
Merge pull request #612 from djmitche/bug2427

Handle slave disconnections during build start better.
Use eventual.eventually more consistently.
Merge branch 'eventually' of git://github.com/tomprince/buildbot