mojo: Fix ordering of build.
The build outputs were all commingled because I mistakenly thought that
calling wait() on a promise would actually wait for the promise to
resolve. This only happens if the I/O loop was not already running.
This is probably for the best as restructuing the code to use ->then()
and ->catch() instead reads better, but it is possible to make ->wait()
do the right thing if you shutdown the I/O loop first.
Testing: A full KF5 run successfully updated and built with this code :)