prop224: Load and configure service
This is a much bigger patch implementing a key feature of hidden service. Loading and configuring a service from the torrc file.
A new object is added which is
hs_service_t representing a v3 service. The
hs_config.[ch] files are introduced which loads the options and create an
hs_service_t object out of it.
Like the legacy code, it goes in two steps. First, load the options and validate. Then, load/generate the keys if not in validate mode.
Some refactoring of the legacy code was needed in order to have a central entry point for the configuration of the HS options for both v2 and v3.