more explicit description of symbol styles
Added Windows-specific buildsteps module.
Right now it only contains a `Robocopy` step.
Ability to specify a timezone for a P4 server

The Perforce server used with `P4Source` may be in a different time zone
than the Buildbot master, which would cause, for example, changes to be
displayed in the wrong place on the Waterfall display.

This change lets you specify a timezone for the server. Changelist times
will be converted from that timezone to the local timezone before being
added to the Buildbot master.
Fixed Robocopy step status

Robocopy actually returns a combination of flags to indicate
success/warning/failure status.
Added information about Robocopy exit codes.
Added documentation about Robocopy step.
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.
Removed docstring for Robocopy step.

All usage information is only in the documentation page now.
Documentation about timezone support in P4 changesource
Release notes for Robocopy and P4 changes.
Fixed P4 source unit tests on Windows

This is because P4 normalizes slashes/backslashes, so we need to set our
expectations right.
Added unit tests for Robocopy step.

Fixed whitespace.
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.