hs: Use the state of a directory connection instead of the HAS_FETCHED purpose
Hidden service client directory connection switch their purpose to DIR_PURPOSE_HAS_FETCHED_RENDDESC_V2
and DIR_PURPOSE_HAS_FETCHED_HSDESC
(with #17242 (moved)) to indicate when the descriptor has arrived.
Let's find another solution here, like looking at the state. Using purposes here seems very kludgy.
Suggestion from nickm: Can we use the DIR_CONN_STATE_CLIENT_FINISHED state? If the documentation for that state is correct, it should be usable for what we want.