Deploy across an entire web cluster

Adds deploy, undeploy, and redeployAll to webapp cluster entities (DWAC and ControlledDWAC).

Also fixes some issues noticed in how tasks are tracked and displayed.
I'd be tempted to put this in `brooklyn.util.concurrent` instead. Not sure if `RunnableAdapter` is best name, as that doesn't indicate that it will be `Callable`.
Accessing it as a static method on some class, e.g. feeling like `Executors.callable(job, result)` but definitely not called `Executors`, might also be nicer.
I presume the only reason we want this is for the nicer toString?
I'd either make the fields private or protected.
Suggest marking as `@Beta` as well, for if we think of better names and/or move it again.