CDAP-398 Add exists() and waitForX() to cdap-client classes

https://issues.cask.co/browse/CDAP-398
Maybe simply having a `Timer` class would be better, though it doesn't really improve it that compared to some more ideal `Predicate` approach:

```
timer.start(timeout, timeoutUnit);
while (timer.getRemaining() > 0) {
  if (exists(appId)) {
    return;
  }
  Thread.sleep(1000);
}
throw new TimeoutException("Timed out waiting for application '" + appId + "' to be deployed");
```