create just one thread for running do_install, and do it sooner

MultiInstall.do_install should be called on a pre-existing async
thread. (It should not be decorated as async itself).  

This is mostly because MultiInstallNewMaas does significant work in
continue_with_interface() before calling do_install(), so
continue_with_interface() is async, and so there's no need to create a
new thread for do_install.

At the end of do_install(), we may call LandscapeInstallFinal.run(),
which then will be run on the separate thread created by whatever
calls do_install, so we don't need to create one for
LandscapeInstallFinal.run(). 

However we do need to create an async thread for
MultiInstallExistingMaas when calling do_install(), even though it
doesn't do anything except call do_install(), because we want a thread
for do_install but don't want do_install to create it.