tor-linkspec: Refactor out traits to represent a relay's ID set.
We want the set of identities supported by a relay to be extensible in the future with minimal fuss; we'd also like to make working with these ID sets more convenient. To handle that, we add a new trait for "Something that has the same IDs as a relay" and a new object for "an owned representation of a relay's IDs."
Closes #428 (closed).
Over time we will probably find more places in our codebase to use these traits; we can refactor those as we find them.
Since @Diziet inspired this with discussion at !433 (merged), I'll assign him the review.