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.
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information