Add TryWithDeadline()

TryWithDeadline() allows the caller to specify a relative time as
a rough deadline.