Hidden service descriptor parsing

Months ago asn asked us for this but I said 'not until tor provides a way of actually... well, getting it'. With #14847 (moved) this is now becoming a thing so it's time stem provided a parser.

David, would you mind adding an example to this ticket for what a hs descriptor in the wild looks like? I'll use it for stem's unit test.