Revert "Fixes #2165: Add 'ternary' interpolation for WithProperties"

This reverts commit d2bc38106ddfcc9e1aa0a892a5632d4d1fe2f417.
WIP: Interpolate docs.

- Update references and examples to point to Interpolate instead of WithProperties.
  We shouldn't have examples using deprecated features.
More source stamp attributes.
Initial documentation of IRenderables.
fix html_message_formatter example. removing reference to file['url'] which nolonger exists and will actually throw an exception if used
More Interpolate docs.
RemoteCommand: add collectStderr

Some master side steps also need to parse the stdout.
Clone the collectStdout feature for stderr

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
slave: factorize some common fs utils

Its very common in source steps to stat, rmdir, mkdir the hidden
repository used to store database (e.g. .svn, .git, etc)

We provide shortcuts to do so.

Unlike slave source old implementations, we choose not to
factorize too much logic, e.g clobber directories behind
the back of the source step.

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
repo: implement repo as a master driven source step

This commit reimplements the same feature and API
as repo from oldsource.py
The big difference is the test coverage that is now 98%,
and thus the maintainability of the code.
Most of the code is also now written in inline callbacks which adds
a lot of readability.

Additionnal features compared to oldsource.py:

- repo is now capable of importing patches to the manifest directory
  This allows for gated-commit process to also verify that manifest patches
  does not break the build
- better handling of tarball (automatic update on a weekly basis)
- support for repo sync -c, which speeds up a lot in very big projects
- better clobbering behaviour. The working directory is kept as much as
  possible for obvious speed reasons

Version2:
- reworked the flow to use less unneeded methods (like continueVC)
- reworked setText for concision
- reworked manifest patch handling which did not actually work with repo
- also remove the lock for manifests repository

Version3:
- fix bug where tarball is not created the first time (+added a test for that)
- log the environ only once (and factorize it in tests)

Version4:
- Only encode manifest branches when needed
- make mirror retry to really be a retry number, and not a try number

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
Merge branch 'interpolate-docs' of git://github.com/tomprince/buildbot into buildbot-0.8.7
spelling and formatting
Merge branch 'buildbot-0.8.7' of github.com:buildbot/buildbot into buildbot-0.8.7
trigger: deprecate copy_property

Same functionality can be implemented with renderable set_property

We change the implementation to rather use set_property

This has the slight side effect of loosing the source inheritance
information.

I think this is worth the simplification of API.

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
docs for gh-pull 521
Add @renderer, plus docs and tests

This decorator was suggested by tomprince:
  https://github.com/buildbot/buildbot/pull/522#issuecomment-8533809
and has been modified, tested, and documented here.

This commit also reorganizes some of the properties documentation,
splitting that in "Customization" between the "Properties" section and
the "Classes" section.
Merge branch 'reposource' of git://github.com/tardyp/buildbot
fix whitespace
fix @renderable for python-2.5 compatibility
fix interface test errors (by changing the interface)
fix py25 syntax compatibility