CDAP-838 Twill runnables should exit when any of the chained services complete

The mechanism would be simpler if use a `SettableFuture` as a completion, which it can provide functionality for both the `CountDownLatch` and failure cause.