prop224: Client introduction point failure cache

Implement the introduction point failure cache for proposal 224.

This can be found in the legacy code in src/or/rendcache.c. See strmap_t *rend_cache_failure and functions starting with rend_cache_failure_*.

We could re-use it but refactoring would be needed since some of the functions expects a rend_service_descriptor_t and they are indexed by service_id (onion address).