Merge remote-tracking branch 'org/buildbot-0.8.8' into buildbot-0.8.8
Reintroduce deprecated `workdir` property.

It is unfortunatley named, but dropping it now doesn't provide a clear
migration path. Supporting both for at least a version allows smoother
migration.
Rework locating config file for checkconfig and upgrade-master.

This changes the logic of checkconfig so that,
1. If a file is passed, that file is used.
2. If a directory is passed containing `buildbot.tac`, that file is
   loaded and `configfile` is defined there, that file is used.
3. If `buildbot.tac` doesn't exist, or doesn't define `configfile`,
   `master.cfg` from that directory is used.

The logic for upgrade-master is similar, except only directories are
supported, so (1) is skipped.
Use twisted.python.deprecate.deprecatedModuleAttribute to deprecate SetProperty.
Move buildslave code around to match organization of openstack latent slave.
Report `SyntaxError` or `ImportError` from `checkconfig` and `upgrade-master`.
Merge 'locate-config': Rework locating config file for checkconfig and upgrade-master.

This changes the logic of checkconfig so that,
1. If a file is passed, that file is used.
2. If a directory is passed containing buildbot.tac, that file is
loaded and configfile is defined there, that file is used.
3. If buildbot.tac doesn't exist, or doesn't define configfile,
master.cfg from that directory is used.

The logic for upgrade-master is similar, except only directories are
supported, so (1) is skipped.
Fix python2.5 syntax errors.
Add test for checking generated .tac file

It checks that .tac file is valid Python script by exec()-uting it with
mocked globals imports, such as twisted.application.service.Application
and buildslave.bot.BuildSlave.
Then it checks, that Application was created and stored in global
variable "application" (as .tac specification requires); checks that
BuildSlave created with passed arguments and attached to application.
Add tests for basedir containing quotes, spaces and backslashes

Quotes test failing with master Buildbot.

In one of the older Buildbot releases I tried to create slave on Windows
end ended with invalid .tac file due to something like this:

  basedir = 'C:\basedir\'

Looks like this is fixed in master, but adding test won't hurt.
Fix handling basedir with quotes
Add tests for invalid --umask and --allow-shutdown options

Currently fails.
Handle invalid --umask and --allow-shutdown options
Add test for handling special characters in all options fields

Currently fails.
Fix options fields writing in .tac file
Write "log-size" as numeric, since it's always integer
fixed PEP8 violation
Don't check that builders are defined in multi-master mode

This fixes an error identified by Yassert LEBON
<yasser.lebon@gmail.com>.
Merge branch 'buildbot-0.8.8'
Merge branch 'slave_tac_check_and_fix' of git://github.com/vrutsky/buildbot