hs: Refactor rend_data_t for multi version support
In order to implement proposal 224, we need the data structure rend_data_t to be able to accomodate versionning that is the current version of hidden service (2) and the new version (3) and future version.
For that, we implement a series of getter and a downcast function to get the v2 data structure. rend_data_t becomes a top level generic place holder.
Closes #19024
Signed-off-by: David Goulet dgoulet@torproject.org