rewrite some steps to not use removed IStatusLog methods (merge to master)
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
temporary TODO.txt
(WIP) prep for eliminating old-style steps
Revert "(WIP) prep for eliminating old-style steps"
(WIP) rewrite http step to new-style
Revert "(WIP) rewrite http step to new-style"
(WIP) docs for rewriting old to new style steps
(WIP) update step methods to be async, but still using status API

..so, no data API calls

Converted:
 - addLog
 - addCompleteLog
 - addHTMLLog
 - step_status.setText{,2} / setStateStrings
 - get/set/hasStatistic (removed)

Includes work by: Pierre Tardy <pierre.tardy@intel.com>
(WIP) Make both process log and status log implement the same interface

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.

TODO:
 - documentation on this interface (or is that in the docs commit?)
 - relnotes about this new API