Update activities to support asynchronous execution


My build definition is using CleanupPsExec, Uninstall and Install activities.
I've customized my build so that it determines all the deployment projects and uses a ParallelFor over each unique server name across the deployment set. For each parallel branch, it uses a For to synchronously CleanPsExec, Uninstall, Install, CleanPsExec for each msi for that server. This process is very time consuming. Unfortunately the ParallelFor is not able to run in parallel because these three activities are synchronous.
Adding asynchronous support to these activities would allow the ParallelFor to actually deploy to multiple servers at the same time which would be a huge benefit.