prop224: Implement HS descriptor fetching
Before the client actually can connect to the service, it has to fetch the descriptor first. As already specified in prop224 section 2.1 and 2.2.6
The client needs to parse the service's master public key from the onion address, derive the blinded public key, and then use that blinded public key to fetch the descriptor from the HSDir.
(Note that, this ticket doesn't implement how to pick the HSDir)