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

https://issues.cask.co/browse/CDAP-398
Throwing the cause will make it appear to the caller as if the `getStatus` call was not actually made inside a `Callable`, which is good.