Pull ztimeout

Add timeout class for efficient timeout handling