tor-hsservice errors: Introduce more error types
Strictly speaking all I need now is the change to the return type of IptEstablisher::new
but I thought I'd go through and think about the error return from each function.
I think we'll probably want to revisit this again, since surely I won't have got all of these right.