fix deadlock error in modules/host/update.go
fix deadlock error in modules/host/update.go

In the original code, the host would unlock before calling 'wg.Wait()'
to wait for all of the host threads to unlock. This ended up being
insufficient, because the termination of ProcessConsensusChange was
still blocked.

Now, the waiting happens in a separate goroutine so that
ProcessConsensusChange is not blocked while the host action item
handlers are potentially waiting for network calls with renters to
finish. This means that the consensus set will no longer be blocked.

ChrisSchinnerl/Sia,mtlynch/Sia,NebulousLabs/Sia,ericflo/Sia,MrStrong/Sia,ChrisSchinnerl/Sia,mharkus/Sia,rivine/rivine,MrStrong/Sia,mnsl/Sia,ericflo/Sia,mnsl/Sia,rivine/rivine,mharkus/Sia,NebulousLabs/Sia,mtlynch/Sia