We only need a subset of a `KeyserverInfoPartial` for constructing a keyserver call. Let's call that subset `KeyserverCallInfo`.
We can introduce a selector that will cache a `KeyserverCallInfo` for a given `KeyserverInfoPartial`. But we still have a problem, because we still need a way to make sure the whole object of `KeyserverInfoPartial`s doesn't change if a single `KeyserverCallInfo` changes.
This `useDerivedObject` does that. However, we still have an issue owing to the fact that the `useDerivedObject` will cache on a per-hook-invocation level, whereas `bindCallKeyserverEndpointSelector` is caching globally. The following diff will resolve that.
Depends on D10464