sse: add possibility to control existing connection

unit test, doc and coherency with websocket api

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
fix validate on osx
remove spurious print
Introduce a 'run' method for steps, which simply returns the result

This does away with the complex need to call self.finished or
self.failed
Integration tests for custom buildsteps

This includes updates to fakes and interface tests for them
support catching deferreds from several BuildStep methods when old-style steps call them synchronously

Specifically:
 * addCompleteLog
 * addHTMLLog
 * addURL
add a process Log class hierarchy to interface with steps
update step methods to be async, but still using status API

..so, no data API calls

This contains a hack to allow tests for existing steps that use now-removed
methods to continue to pass, but with warnings.  Those will need to be
fixed in a subsequent commit.

Includes work by: Pierre Tardy <pierre.tardy@intel.com>
docs for rewriting old to new style steps
Merge branch 'sse' of git://github.com/tardyp/buildbot into nine
fixes from review
bring back step statistics
Merge branch '9/async-steps' into nine
Buildrequest data api implementation

Updates:
- Add buildrequest data api (including documentation, unit tests,
fakedb and fakedata)
- Change buildrequest db api 'mine' parameter to 'claimed_by_masterid'
- Minor fixes and factorization in FakeBuildRequestsComponent

Signed-off-by: Olivier Monnier <olivier.monnier@intel.com>
Data API: add filter options to buildrequest collection endpoints

Updates:
- adding filters to the BuildRequestsEndpoint.get() method
- replacing claimed='mine' option in buildrequest DB API, with
claimed=<master id>

Signed-off-by: Olivier Monnier <olivier.monnier@intel.com>