Based on the discussion here qri-io/qri#1260 (comment) we should move the timeout logic to PathResolver implementations and have them deal with the specifics of different access mechanics. Also this could be the point where we expand to handle retries etc.