(WIP) Make the buildstep API asynchronous

This makes the following methods called by buildsteps async:
 * addLog
 * addCompleteLog
 * addHTMLLog
 * (others?!)

and allows (but does not require) the following buildstep methods to
return Deferreds:
 * ??

TODO:
 * more methods
 * docs
 * relnotes
WIP on simplifying step changes
TODO
(WIP) Remove process interaction with the status hierarchy

* Make lots of step methods return Deferreds