Extract intro_nodes status tracking from rend_service_descriptor_t

To make the rend_service_descriptor_t struct closer to immutatable, we should fix the behavior in validate_intro_point_failure() where we delete entries from desc->intro_nodes that are in the failure cache.

Maybe a good fix is to move the whole status tracking of the intro point fetches into the rend failure cache, rather than having some of the status tracking in each place.