private void await(Future<?> future, Duration timeout, String action) {
        try {
            future.get(timeout.toMillis(), TimeUnit.MILLISECONDS);
        }
        catch (InterruptedException e) {
            future.cancel(true);
            throw new UncheckedInterruptedException("interrupted while " + action, e, true);
        }
        catch (TimeoutException e) {
            future.cancel(true);
            throw new UncheckedTimeoutException("timed out while " + action, e);
        }
        catch (ExecutionException e) {
            throw new RuntimeException("failed " + action, e.getCause());
        }
    }
Implementation of {@link VespaCurator} which delegates to a {@link Curator}.
This prefixes all paths with {@code "/user"}, to ensure separation with system ZK usage.

@author jonmv
zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorWrapper.java