Stop running containers instead of killing them on undeploy.

As TaskRunner implements AbstractExecutionThreadService, this probably should be renamed to `shutDown()` to override (since stopAsync().awaitTerminated() used to be called on it)?  Unless it's extension of InterruptingExecutionThreadService can be gotten rid of -- I don't recall why it extends it in the first place.  @danielnorberg, do you remember? Also, the return value of stop() is never used by any callers.