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
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
event enhancements

This adds more coherency between the event system and the data system, so that
the events are more coherent with the rest api.
Eventually, the goal is that the events are always the same structure as the data for a same resource

This simplifies a lot the system, and make the client much more easy
This comes at a efficieny price. With this design, events will contain more data.

messages are anyway very small, and probably negligible compared to the network load of logs, and slave communication

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
autopep8
hacks to make UI update on build start and build finish

bye bye pickles